Siesta - запуск суб-теста (из другого тестового файла) на основе определенного условия
У меня есть siesta lite для тестирования моего приложения ExtJs 4. Я хочу запустить тест в зависимости от значения window.xxx и window.yyy моего приложения. Поэтому, если xxx= 1 и yyy= 'xyz', я хочу запустить определенный тестовый файл, скажем, test1.js. Я прочитал документацию по сиесте, но ничего не смог найти.
Вот мой код:
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 }
)
Я хочу запустить 'tests/S_0-R_PjM.js' внутри 'tests/S_0-R_PjM.js' в зависимости от определенного значения объекта windows, которое установлено моим приложением index.html.
Мой index.js выглядит так: // также поддерживает: startTest (function (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
})
Кто-нибудь может направить меня?
1 ответ
Я не знаю ни одной встроенной функции в файле Harness, которая могла бы помочь вам в этом.
Но если вы действительно не хотите, чтобы весь ваш код был в одном файле, вы можете использовать TestClass - с этим вы можете иметь свой код в разных файлах.
http://www.bryntum.com/docs/siesta/
Имейте в виду, что это не будет загружать другой "тест". У вас все еще будет 1 тестовый файл в вашем интерфейсе Siesta, но он выполнит другой код в зависимости от вашего оператора if.