我正在尝试使用 jasmine
编写一些测试用例(第一次)describe("Widget App core logic", function () {
WAPP.widgets = [];
addwidget将在我的WAPP.widgets数组中添加一个小部件
WAPP.addWidget('testRecord', 'testRecordContent');
it("added", function () {
expect(WAPP.widgets.length).toEqual(1);
});
删除小部件将删除相同的小部件
WAPP.removeWidget('1');
it("record removed correctly", function () {
expect(WAPP.widgets.length).toEqual(0);
})
写完第二个规范后,我的第一个规范失败,因为它显示 WAPP .widgets为空。即使在第一个规范时, WAPP .widgets中有一个值
答案 0 :(得分:4)
这里的问题是你不应该有it
之外的测试代码。在执行所有测试用例之前,it
之外的代码运行一次。在您的情况下可能发生的是您在测试开始之前删除所有小部件。
您的测试代码应该是这样的:
describe("Widget App core logic", function () {
beforeEach(function () {
WAPP.widgets = [];
});
it("added", function () {
WAPP.addWidget('testRecord', 'testRecordContent');
expect(WAPP.widgets.length).toEqual(1);
});
it("record removed correctly", function () {
WAPP.addWidget('1', '1');
WAPP.removeWidget('1');
expect(WAPP.widgets.length).toEqual(0);
})
});
请注意,您的测试代码应该是自包含的,所有初始化都应该在it
或beforeEach
内完成。