私はjQueryとたくさんのajaxリクエスト(json形式)でWebサイトを構築しました。
サーバー側でリクエストを確認するために、単体テストを行いたいと思います。名前を変更 -
=>可能かもしれないユーザーを作成 - :
私はjQueryのを使用するように、私はqUnitを使用しますが、私はテストの順序の問題を抱えている...コントロール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でカスケードすることができますが、読みにくいと思います...
あなたはどう思いますか?
ユニットテストは、独立しており、互いに独立していると想定されています。単体テスト・フレームワークが任意の順序でテストを実行することは非常に典型的です。なぜなら、独立したテストは読みやすく、保守が簡単で、テストのためにはより良い仕事をするからです。 – kelloti
次に、シナリオテストのためのjQueryフレームワークがありますか? –