6.0.48 • Published 2 years ago

@tsdi/unit v6.0.48

Weekly downloads
3
License
MIT
Repository
github
Last release
2 years ago

packaged @tsdi/unit

This repo is for distribution on npm. The source for this module is in the main repo.

@tsdi/unit: unit testing framework, base on AOP, Ioc container.

version 5+ of @ts-ioc/core tsioc

Install

npm install @tsdi/unit
npm install @tsdi/unit-console

// in browser
npm install @tsdi/platform-browser

// in server
npm install @tsdi/platform-server

add extends modules

use unit

import { Suite, BeforeEach, UnitTest, Test, After, AfterEach Assert, Expect, ExpectToken } from '@tsdi/unit';
import { ConsoleReporter } from '@tsdi/unit-console';
import { PromiseUtil } from '@tsdi/core';


@Suite('Unit Test')
export class SuiteTest {

    // testContainer: AnyApplicationBuilder;

    @BeforeEach()
    async initTest() {
        console.log('---------beofre test-----------');
    }

    @Test('assert test timeout', 200)
    testTimeout() {
        console.log('--------assert test timeout------');
        let def = PromiseUtil.defer();
        setTimeout(() => {
            def.resolve('out time do...')
        }, 300)
        return def.promise;
    }

    @Test('assert test in time', 200)
    testInTime() {
        console.log('--------assert test in time------');
        let def = PromiseUtil.defer();
        setTimeout(() => {
            def.resolve('in time do...')
        }, 100)
        return def.promise;
    }


    @Test('assert test in time', 200)
    testInTime(assert: Assert) {
        console.log('--------assert test in time------');
        let def = PromiseUtil.defer();
        setTimeout(() => {
            def.resolve('in time do...')
        }, 100)
        assert.strictEqual('0', 0);
        return def.promise;
    }

    @Test('expect test')
    async testEqural(@Inject(ExpectToken) expect: Expect) {
        await expect('true').toBe(true);
    }

    @AfterEach()
    clean(){
        //clean each data.
    }

    @After()
    destory(){

    }
}

support old TDD BDD style unit test.

  • TDD-style interface:
suite('Array', function() {
  suite('#indexOf()', function() {
    suiteSetup(function() {
    });
    test('should return -1 when not present', function() {
    });
    test('should return the index when present', function() {
    });
    suiteTeardown(function() {
    });
  });
});
  • BDD-style interface:
describe('Array', function(){
    describe('Array#indexOf()', function() {
        it('should return -1 when not present', function() {
        // ...
        });
        it('should return the index when present', function() {
        // ...
        });
    });
});

custom run test code

  • use runTest to run
// run Test
/**
 * unit test.
 *
 * @export
 * @param {(string | Type | (string | Type)[])} src test source.
 * @param {(string | AppConfigure)} [config] test configure.
 * @param {...LoadType[]} deps custom set unit test dependencies.
 * @returns {Promise<any>}
 */
export function runTest(src: string | Type | (string | Type)[], config?: string | UnitTestConfigure, ...deps: LoadType[]): Promise<any>;

runTest(SuiteTest, {...}, ConsoleReporter);
  • use boot application
import { BootApplication, DIModule, ConfigureRegister } from '@tsdi/boot';
import { UnitTest } from '@tsdi/unit';

BootApplication.run(UnitTestContext.parse({ module: UnitTest, deps: [ConsoleReporter], configures: [config, { src: src }] }))

use command run test code

tsdi test [test/**/*.ts]

tsdi test  //default load test/**/*.ts

//or
tsdi test test/**/*.ts
  • test result: image

Documentation

Documentation is available on the

packages

@tsdi/cli @tsdi/ioc @tsdi/aop @tsdi/core @tsdi/boot @tsdi/components @tsdi/compiler @tsdi/activities @tsdi/pack @tsdi/typeorm-adapter @tsdi/unit @tsdi/unit-console

License

MIT © Houjun

6.0.48

2 years ago

6.0.47

2 years ago

6.0.46

2 years ago

6.0.45

2 years ago

6.0.44

3 years ago

6.0.43

4 years ago

6.0.42

4 years ago

6.0.41

4 years ago

6.0.40

4 years ago

6.0.39

4 years ago

6.0.38

4 years ago

6.0.37

4 years ago

6.0.36

4 years ago

6.0.35

5 years ago

6.0.33

5 years ago

6.0.32

5 years ago

6.0.31

5 years ago

6.0.30

5 years ago

6.0.29

5 years ago

6.0.28

5 years ago

6.0.27

5 years ago

6.0.26

5 years ago

6.0.25

5 years ago

6.0.24

5 years ago

6.0.23

5 years ago

6.0.22

5 years ago

6.0.21

5 years ago

6.0.20

5 years ago

6.0.19

5 years ago

6.0.18

5 years ago

6.0.16

5 years ago

6.0.17

5 years ago

6.0.15

5 years ago

6.0.13

5 years ago

6.0.12

5 years ago

6.0.11

5 years ago

6.0.10

5 years ago

6.0.9

5 years ago

6.0.8

5 years ago

6.0.7

5 years ago

6.0.6

5 years ago

6.0.4

5 years ago

6.0.3

5 years ago

6.0.2

5 years ago

6.0.1

5 years ago

6.0.0

5 years ago

6.0.0-beta12

5 years ago

6.0.0-beta11

5 years ago

6.0.0-beta9

5 years ago

6.0.0-beta8

5 years ago

6.0.0-beta7

5 years ago

6.0.0-beta6

5 years ago

6.0.0-beta5

5 years ago

6.0.0-beta4

5 years ago

6.0.0-beta3

5 years ago

6.0.0-beta2

5 years ago

6.0.0-beta1

5 years ago

5.3.13

6 years ago

5.3.12

6 years ago

5.3.11

6 years ago

5.3.10

6 years ago

5.3.9

6 years ago

5.3.8

6 years ago

5.3.7

6 years ago

5.3.6

6 years ago

5.3.5

6 years ago

5.3.3

6 years ago

5.3.2

6 years ago

5.3.1

6 years ago

5.3.0

6 years ago

5.3.0-beta4

6 years ago

5.3.0-beta3

6 years ago

5.3.0-beta2

6 years ago

5.3.0-beta1

6 years ago

5.3.0-beta

6 years ago

5.2.16

6 years ago

5.2.15

6 years ago

5.2.14

6 years ago

5.2.13

6 years ago

5.2.12

6 years ago

5.2.10

6 years ago

5.2.9

6 years ago

5.2.8

6 years ago

5.2.7

6 years ago

5.2.6

6 years ago

5.2.5

6 years ago

5.2.4

6 years ago

5.2.3

6 years ago

5.2.2

6 years ago

5.2.1

6 years ago

5.2.0

6 years ago

5.1.19

6 years ago

5.1.18

6 years ago

5.1.17

6 years ago

5.1.16

6 years ago

5.1.15

6 years ago

5.1.14

6 years ago

5.1.13

6 years ago

5.1.12

6 years ago

5.1.11

6 years ago

5.1.10

6 years ago

5.1.9

6 years ago

5.1.8

6 years ago

5.1.7

6 years ago

5.1.6

6 years ago

5.1.5

6 years ago

5.1.4

6 years ago

5.1.3

6 years ago

5.1.2

6 years ago

5.1.1

6 years ago

5.1.0

6 years ago

5.0.25

6 years ago

5.0.24

6 years ago

5.0.23

6 years ago

5.0.22

6 years ago

5.0.21

6 years ago

5.0.20

6 years ago

5.0.19

6 years ago

5.0.18

6 years ago

5.0.18-beta

6 years ago

5.0.1-8.beta

6 years ago

5.0.15

6 years ago

5.0.13

6 years ago

5.0.12

6 years ago

5.0.11

6 years ago

5.0.10

6 years ago

5.0.8

6 years ago

5.0.7

6 years ago

5.0.6

6 years ago

5.0.5

6 years ago

5.0.4

6 years ago

5.0.3

6 years ago

5.0.2

6 years ago

5.0.1

6 years ago

5.0.0

6 years ago

5.0.0-beta25

6 years ago

5.0.0-beta24

6 years ago

5.0.0-beta23

6 years ago

5.0.0-beta22

6 years ago

5.0.0-beta20

6 years ago

5.0.0-beta19

6 years ago

5.0.0-beta18

6 years ago

5.0.0-beta17

6 years ago

5.0.0-beta16

6 years ago

5.0.0-beta15

6 years ago

5.0.0-beta14

6 years ago

5.0.0-beta12

6 years ago

5.0.0-beta11

6 years ago

5.0.0-beta10

6 years ago

5.0.0-beta9

6 years ago

5.0.0-beta8

6 years ago

5.0.0-beta7

6 years ago

5.0.0-beta6

6 years ago

5.0.0-beta5

6 years ago

5.0.0-beta4

6 years ago

5.0.0-beta3

6 years ago

5.0.0-beta2

6 years ago

5.0.0-beta1

6 years ago

5.0.0-beta

6 years ago

4.0.5

6 years ago