错误的测试执行队列

时间:2018-04-03 07:09:58

标签: javascript unit-testing jasmine karma-jasmine

// file.spec.js
describe('[test]', () => {
    it('first', () => {
        expect(true).toBeTruthy();
    });
    it('second', () => {
        expect(true).toBeTruthy();
    });
});
file.spec.js中的

- > ctrl + S(第一次保存):

[test]
   first
   second
file.spec.js中的

- > ctrl + S(第二次保存):

[test]
   second
   first

测试执行队列中断是否正常?

UPD:0.0.1

带有版本库的

部分package.json -
部分package.json与版本库 - 部分package.json与版本库 - 使用版本库的部分package.json -

{
  "devDependencies": {
    "@types/enzyme": "^3.1.9",
    "@types/enzyme-adapter-react-16": "^1.0.2",
    "@types/jasmine": "^2.8.6",
    "@types/react": "^16.1.0",
    "@types/react-redux": "^5.0.15",
    "@types/redux": "^3.6.0",
    "awesome-typescript-loader": "^5.0.0-1",
    "cross-env": "^5.1.4",
    "css-loader": "^0.28.11",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "html-webpack-plugin": "^3.1.0",
    "jasmine": "^3.1.0",
    "jasmine-spec-reporter": "^4.2.1",
    "karma": "^2.0.0",
    "karma-chrome-launcher": "^2.2.0",
    "karma-jasmine": "^1.1.1",
    "karma-jasmine-html-reporter": "^1.0.0",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-spec-reporter": "0.0.32",
    "karma-webpack": "^4.0.0-beta.0",
    "node-sass": "^4.8.3",
    "object-assign": "^4.1.1",
    "sass-loader": "^6.0.7",
    "style-loader": "^0.20.3",
    "typescript": "^2.8.1",
    "webpack": "^4.4.1"
  }
}

3 个答案:

答案 0 :(得分:1)

是。您的测试用例应该是独立的。他们的结果不应该依赖于执行顺序

答案 1 :(得分:1)

在我使用最新版本的jasmine-core之前,我还发现执行不顺序,一两天后,我发现这是因为茉莉花版本。现在我的茉莉花版本是2.3.4,它按顺序执行测试。这种方法有一个缺点。

您无法使用未来版本的其他优势,例如toBeGreaterThanOrEqual或其他availableMatchers茉莉花提供开箱即用的功能。虽然您可以创建自己的茉莉花匹配器,但还可以添加更多其他功能。谁知道那些是对的?

因此,如果您希望您的测试符合规定,那么请随意使用版本2.3.4(我使用此版本以及karma-spec-reporter并稍微调整一下)或者如果没有,您可以使用最新版本。

答案 2 :(得分:0)

更新包

<块引用>

业力茉莉:"^2.0.1"

并更新您的 karma.conf.js。

client:{
  jasmine: {
    random: false // disable the random running order
  }
},