angular2-testing-lite
v1.4.0
Published
Jasmine-free Angular 2 Testing Library
Downloads
8
Readme
angular2-testing-lite
Jasmine-free Angular 2 Testing Library
Features
- Jasmine-free
- Same core API as
angular2/testing
- Less API: supports only
TestInjector
andTestComponentBuilder
- Opt-in utilities for Mocha
Install
$ npm install --save-dev angular2-testing-lite
Usage (Mocha & power-assert example)
Model
Simple mocha test
import assert = require("power-assert");
describe("TestModel", () => {
it("can instantiate", () => {
let model = new TestModel("AAA");
assert(!!model);
});
describe("toString()", () => {
it("should return string", () => {
const model = new TestModel("AAA");
const str = model.toString();
assert(typeof str === "string");
});
});
});
Service
Inject Http
import assert = require("power-assert");
import {async, inject} from "angular2-testing-lite/core";
import {it, describe, xdescribe, beforeEach, beforeEachProviders} from "angular2-testing-lite/mocha";
describe("TestService", () => {
beforeEachProviders(() => [
BaseRequestOptions,
MockBackend,
provide(Http, {
useFactory: (backend: MockBackend, options: BaseRequestOptions) => {
return new Http(backend, options);
}, deps: [MockBackend, BaseRequestOptions]
}),
TestService
]);
it("can instantiate", inject([TestService], (service: TestService) => {
assert(!!service);
}));
});
Component
Ported TestComponentBuilder
import assert = require("power-assert");
import {inject, async, TestComponentBuilder} from "angular2-testing-lite/core";
import {describe, it, xit, beforeEachProviders, beforeEach} from "angular2-testing-lite/mocha";
import {HTTP_PROVIDERS} from "@angular/http";
describe("TestAppComponent", () => {
beforeEachProviders(() => [
HTTP_PROVIDERS,
TestService,
]);
it("can create", async(inject([TestComponentBuilder],
(tcb: TestComponentBuilder) => {
return tcb.createAsync(TestAppComponent)
.then(fixture => {
assert(!!fixture);
});
})
));
});
License
MIT