我已经安装了siesta lite来测试我的ExtJs 4应用程序。 我想运行一个测试,取决于我的应用程序的window.xxx和window.yyy的值。 所以如果xxx = 1和yyy ='xyz',我想运行一个特定的测试文件让我们说test1.js。我读了siesta documentation但我找不到任何东西。Siesta - 根据一定的条件运行子测试(从另一个测试文件)
这里是我的代码:
var harness = new Siesta.Harness.Browser.ExtJS()
window.harnessObj = harness;
harness.configure({
title : 'My Tests',
preload : [
/* '../resources/extjs-4.2/resources/css/ext-all.css',
'../resources/extjs-4.2/ext-all-debug.js',
'../resources/json/textLabels.js',*/
]
});
harness.start(
{
group: 'Unit Tests',
pageUrl: '../index.html?unittest',
items:
[
{
title : 'PopUpWindow',
url : 'tests/PopUpWindow.js'
},
{
title : 'S_0-R_PjM',
url : 'tests/S_0-R_PjM.js'
}
]
}
);
harness.on('testsuitestart', function (event, harness)
{
//debugger;
console.log('I fucking love Testing')
}, this,
{ single : true }
)
我想运行“测试/ S_0-R_PjM.js”里面,这取决于窗口的某个值对象,它是设置“测试/ S_0-R_PjM.js”由我的应用程序index.html。
我index.js看起来像这样:// 还支持:startTest(函数(T){
describe(function(t) {
t.diag("PfalzkomApp Loading Test");
t.ok(Ext, 'ExtJS has been loaded');
t.ok(Ext.Window, 'ExtJS.Window has been loaded');
t.ok(window.xxx, loaded with value :' + window.xxx);
t.ok(window.yyy, loaded with value :' + window.yyy);
var status = parseInt(window.xxx);
var role = window.yyy;
switch(status) {
case 111:
switch(role)
{
case "abc":
debugger;
// How to load another test file(tests/S_0-R_PjM.js) and start that test here !!!
break;
case "def":
break;
}
}
t.done();
})
//更新问题 - 我希望把里面的另一测试文件,示例代码和需要
StartTest(function(t) {
t.diag("Case: Status: Neu and Role:PjM ");
//S_0-R_PjM
t.ok(Ext, 'ExtJS has been loaded');
t.done(); // Optional, marks the correct exit point from the test
})
当有一个人可以指导我打电话了吗?
只需将'it()'包装在if语句中即可。 –
@EvanTrimboli我想加载另一个测试文件。我不想将所有代码写入一个文件。那么如何实现呢?谢谢 –