gpt4 book ai didi

jquery - 控制 QUnit 测试顺序

转载 作者:行者123 更新时间:2023-12-01 01:04:34 25 4
gpt4 key购买 nike

我已经使用 jQuery 和大量 ajax 请求(json 格式)构建了一个网站。
我想进行一些单元测试来验证服务器端的请求。
当我使用 jQuery 时,我使用 qUnit,但我有一个测试顺序问题...

例如,我想测试一下:- 创建一个用户 => 可能
- 使用有效名称重命名用户 => 可能
- 使用已使用的名称重命名用户 => 不可能
- 删除用户 => 是可能的

我的代码:

  $("button#test").button().click(function() {
module("Module Users");
newName = 'newUserName';
userId = 0;

test("1 Add a user", function() {
stop();
$.getJSON(Request,{'action':'add','table':'users'}
,function(data) {
equal( data.status,"OK", "Answer is OK" );
notEqual( data.item,null, "item is return" );
userId = data.item.id;
start();
});
});

test("2 Rename user", function() {
stop();
$.getJSON(Request,{'action':'modify','table':'users','id':userId,'field':'name','value':newName}
,function(data) {
equal( data.status,"OK", "Answer is OK" );
equal( data.value,newName, "Return value is OK" );
start();
});
});

test("3 Rename user with use name", function() {
stop();
badName = 'usedName'; // assert that a user with this name exists
$.getJSON(Request,{'action':'modify','table':'users','id':userId,'field':'name','value':badName}
,function(data) {
equal( data.status,"Fail", "Answer is Fail" );
equal( data.value,newName, "Return value is previous name" );
start();
});
});

test("4 Remove the user", function() {
stop();
$.getJSON(Request,{'action':'remove','table':'users','id':userId}
,function(data) {
equal( data.status,"OK", "Answer is OK" );
start();
});
});

但问题是运行了 1 测试,然后运行了 4、2 和 3...(那么,我认为问题在于我的测试不是独立的)

如何解决这个问题?
我可以将所有 4 个测试级联为 1 个,但我认为它的可读性会较差......

你觉得怎么样?

最佳答案

有时你只是想完成工作如果有必要,请尝试。

QUnit.config.reorder = false;

关于jquery - 控制 QUnit 测试顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com