我尝试重构我的代码。我知道,如果我有几个期望,他们应该孤立于'它'。我试着理解我怎么写这个:
describe('my scenario should make', function () {
var config = browser.params;
var url = config.listOfReferencesUrl,
grid,
numberField;
it('test1', function () {
browser.get(url);
browser.executeScript("icms.go('WEB_INQ_PROC', 'InquiryList', null, 0)");
grid = psGrid(by.css("table[class='n-grid']"));
numberField = grid.getQuickFilter(1);
numberField.click().sendKeys("Hello!");
since('fail1').expect(numberField.getInputText()).toEqual("");
});
it('test2', function () {
since('fail2').expect(numberField.getInputText()).toEqual("Hello!");
});
});
这样的事情:
describe('my scenario should make', function () {
var config = browser.params;
var url = config.listOfReferencesUrl,
grid,
numberField;
*********Make this part of code ONES before all tests in spec ****
browser.get(url);
browser.executeScript("icms.go('WEB_INQ_PROC', 'InquiryList', null, 0)");
grid = psGrid(by.css("table[class='n-grid']"));
numberField = grid.getQuickFilter(1);
numberField.click().sendKeys("Hello!");
*******************************************************************
it('test1', function () {
since('fail1').expect(numberField.getInputText()).toEqual("");
});
it('test2', function () {
since('fail2').expect(numberField.getInputText()).toEqual("Hello!");
});
});
也许有人知道我该怎么做?
答案 0 :(得分:2)
要回答您的问题,如果您想在所有测试之前运行一次代码,请使用Jasmine 2中提供的beforeAll()函数。这是一个示例 -
beforeAll(function(){
//Write your code here that you need to run once before all specs
});
您可以使用Jasmine中提供的beforeEach()功能每次在测试规范之前运行它。这是一个样本 -
beforeEach(function(){
//Write your code here that you need to run everytime before each spec
});
如果您在使这些功能正常工作时遇到问题,请将插件更新到最新版本,然后尝试运行它。同时使用 conf.js 文件
中的framework: 'jasmine2'
希望这有帮助。