使用jasmine和jstestdriver运行多个规范

时间:2013-05-20 17:19:43

标签: jasmine js-test-driver jasmine-jquery

我已经编写了多个spec文件,用于在网页上对各种模块进行单元测试。如果我单独运行它们,一次只能运行一次。但是当我尝试按顺序运行所有文件时,只有spec文件夹中的第一个文件才能运行,而所有其他测试都失败。任何帮助将不胜感激。

每个spec文件都使用requirejs加载静态页面并在页面上呈现它们。一旦页面呈现,我检查标题,文本等是否正确。 spec文件看起来像这样。 AboutSpec.js - >

require(["views/About", "nls/messages"], function (About, messages) {
beforeEach(function(){
    var temp = new About();
    temp.render(); 
});
describe("Test for About Page", function () {

    it("Check For About Title", function () {
        var aboutTitleText = $('.eight.columns h2').text();
        expect(aboutTitleText).toEqual(messages["about_title"]);
    });
});
});

FooterSpec.js - >

require(["views/Footer", "nls/messages"], function (Footer, messages) {
beforeEach(function(){
    var temp = new Footer();
    temp.render(); 
});
describe("Test for Footer Page", function () {

    it("Check For Footer Content", function () {
        var footerText = $('.five.columns h2').text();
        expect(footerText).toEqual(messages["footer_content"]);
    });
});
});

jstestDriver.conf - >

    load:
      - jasmine/lib/jasmine-1.3.1/jasmine.js
      - jasmine/lib/adapter/JasmineAdapter.js
      - js-src/javaScript/require.js
      - js-src/javaScript/default.js

    test:
      - js-test/AboutSpec.js
      - js-test/FooterSpec.js

当我运行此设置时,“关于”页面不会呈现。只有页脚页面呈现,因此所有关于页面的测试用例都会失败。

1 个答案:

答案 0 :(得分:1)

我们面临同样的问题,而且我已经花了多少小时呢?哦,是的,太多了! - 试图解决这个问题。

今天我发现了Karma,一个来自Google的JsTD替代品,它在新的iframe中运行每个测试。它还与Jenkins集成。我现在正在安装它,并将报告它是如何进行的。