typescript-definition-tester
Version:
The purpose of this repository is to wrap the TypeScript compiler so that a consumer can easily test their ambient module declarations against example *.ts files. This module uses chai assertions so that a user can easily add this step to existing unit t
42 lines (31 loc) • 1.79 kB
Markdown
The purpose of this repository is to wrap the TypeScript compiler so that a consumer can easily test their ambient module declarations against example *.ts files.
This module uses chai assertions so that a user can easily add this step to existing unit test infrastructure.
[](https://app.wercker.com/project/bykey/2ad0ff2e7585e4ff41477e6b6876acad)
* Add typescript-definition-tester to your devDependencies property in your package.json file
```
npm install typescript-definition-tester --save-dev
```
* [optional] Link the typescript-definition-tester.d.ts file using tsd `tsd link --save`
The recommended way to test ambient module declarations is to create an "examples" directory in your test folder. Then, you can pull in these *.ts example files
in a single test file that will pass these files to the TypeScript compiler.
Example:
```
/// <reference path="../typings/tsd.d.ts" />
import * as ts from "typescript";
import * as tt from "typescript-definition-tester";
import * as fs from "fs";
import * as chai from "chai";
describe('ambient declaration tests', () => {
it('should compile examples successfully against my-module.d.ts', (done) => {
tt.compileDirectory(
__dirname + '/examples',
(fileName: string) => fileName.indexOf('.ts') > -1,
() => done()
);
});
});
```
You should be able to run this test file with mocha `mocha test/my-test-file.js`. The above example is written in TypeScript. You will need to compile this using `tsc --module commonjs test/my-test-file.js` or you can just write your test using normal JavaScript.