我已经编写了多个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
当我运行此设置时,“关于”页面不会呈现。只有页脚页面呈现,因此所有关于页面的测试用例都会失败。
答案 0 :(得分:1)
我们面临同样的问题,而且我已经花了多少小时呢?哦,是的,太多了! - 试图解决这个问题。
今天我发现了Karma,一个来自Google的JsTD替代品,它在新的iframe中运行每个测试。它还与Jenkins集成。我现在正在安装它,并将报告它是如何进行的。