-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(typescript): Add support for TypeScript mutation testing #376
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ConfigWriter -> ConfigEditor
* Removed streaming api * Removed mutant validation from the TypscriptMutantGenerator.
…named `path` to `name`.
…will be responsible for resetting files to original state
…or/stryker into stryker-typescript
* Override lib locations when resolving files * Also implement `getDirectories` and `directoriesExist` in the `LanguageServiceHost` * Normalize paths like typescript does.
* Integration transpiler logic in a seperate process using a generic `ChildProcessProxy` class * Refactor: Move mutation testing logic from `SandboxCoordinator` to new `MutationTestExecutor` class. * Refactor: Move initial test run logic from `SandboxCoordinator` to new `InitialTestExecutor` class. * Remove reliance on `'es6-promise-pool'` * Add dependency on `rxjs` in order to easily synchronise mutant transpile results with sandboxes * Rewrite mutation testing logic to make use of the new rxjs way of working * Rename mutant status `Error` -> `RuntimeError` * Add mutant status `TranspileError` * Updated the reporters for new and updated mutation status
simondel
reviewed
Sep 16, 2017
return recycleObserver.onNext(sandbox.sandbox); | ||
} | ||
|
||
return transpiledMutants |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add some comments explaining this return statement?
simondel
changed the title
WIP: feat(typescript): Add support for typescript mutation testing
feat(typescript): Add support for typescript mutation testing
Sep 19, 2017
simondel
changed the title
feat(typescript): Add support for typescript mutation testing
feat(typescript): Add support for TypeScript mutation testing
Sep 19, 2017
Let's do this!!! |
Let's keep the branch just to be sure until we release. |
This was referenced Oct 10, 2017
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for JavaScript transpiled languages (ESvNext, TypesScript, Flow, CoffeeScript, etc). Add the
stryker-typescript
package with mutation testing utilities for TypeScript.New:
Mutator
. With this plugin it is possible to mutate source code. See Mutator.ts to review the API.Transpiler
. With this plugin it is possible to transpile source code to JavaScript. This transpiler is than be used to transpile all source code as well as each mutant. See the explanation inSupport mutating TypeScript code #344 for more information. See Transpiler.ts for the api details.
BREAKING CHANGE:
Mutator
interface to a higher abstraction. With this interface it was possible to add mutators for specific ES5 AST nodes. As we're moving away from ES5, this plugin abstraction had to be hoisted to a higher level. It is no longer possible to plugin a specific ES5 node mutator.report
interface: RenameMutantState.Error
=>MutantState.RuntimeError
.