离子2业力茉莉花单元测试

时间:2019-09-10 05:09:41

标签: javascript angular typescript unit-testing karma-jasmine

  

我用业力茉莉花制作测试用例时遇到问题。的   配置已经完成,但是我发现构建测试用例很困难。   发现离子供应商存在问题

package.json

"devDependencies": {
        "@angular/cli": "^8.3.1",
        "@angular/router": "^8.2.4",
        "@ionic/app-scripts": "^3.2.4",
        "@ionic/cli-plugin-proxy": "1.5.6",
        "@types/jasmine": "^3.4.0",
        "@types/node": "^12.7.2",
        "ionic-mocks": "^1.3.0",
        "jasmine-core": "2.99.1",
        "jasmine-spec-reporter": "^4.2.1",
        "karma": "^4.3.0",
        "karma-chrome-launcher": "^3.1.0",
        "karma-cli": "^2.0.0",
        "karma-coverage-istanbul-reporter": "^2.1.0",
        "karma-jasmine": "^2.0.1",
        "karma-jasmine-html-reporter": "^1.4.2",
        "karma-junit-reporter": "^1.2.0",
        "karma-typescript": "^4.1.1",
        "tslint-ionic-rules": "0.0.11",
        "typescript": "^2.4.2",
        "ws": "3.3.2" 
}

app.component.spec.ts

import { UsersProvider } from '../providers/users/users';
import { TestBed, inject } from '@angular/core/testing';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { Http } from '../../node_modules/@angular/http';

let zone: any;
describe("TEST 1", () => {
let service: UsersProvider;
    let httpMock: HttpTestingController;
    beforeEach(() => {
        TestBed.configureTestingModule({
            providers: [UsersProvider]
        });
        service = TestBed.get(UsersProvider);
    });

    afterEach(() => {
        httpMock.verify();
    });

    describe('#registerUser tests', () => {
        it("Equality Test", function () {
        expect("Hello").toEqual("Hello");
        });
    });
});
  

输出

     

毕竟发生了错误       错误:找不到../providers/users/users [D:/MyApp/src/providers/users/users.ts](由   D:/MyApp/src/app/app.spec.ts)           在要求时(node_modules / karma-typescript / dist / client / commonjs.js:13:23)           在node_modules / karma-typescript / dist / client / commonjs.js:18:24           在Object.global.wrappers.D:/MyApp/src/app/app.spec.ts ... / providers / users / users   (src / app / app.spec.ts:1:1 <-src / app / app.spec.js:3:15)           在要求时(node_modules / karma-typescript / dist / client / commonjs.js:17:25)           在node_modules / karma-typescript / dist / client / commonjs.js:38:9           在Array.forEach()           在node_modules / karma-typescript / dist / client / commonjs.js:37:40           在node_modules / karma-typescript / dist / client / commonjs.js:40:3       Chrome 75.0.3770(Windows 10.0.0):执行0的0错误(0.005秒/ 0秒)

1 个答案:

答案 0 :(得分:0)

通过将random设置为false,我们不再看到这些问题。为此,我们在karma.conf.js:

中添加了此设置
config.set({
    client: {
      jasmine: {
        random: false
      }
    }
  });

尝试一下。