0
我正在使用intern.js庫與柴和BDD來測試我的JavaScript應用程序。我有以下代碼:intern.js重構到塊行爲不一致
// Login as admin
bdd.before(function() {
indexPage = new IndexPage(this.remote, adminUsername, adminPass);
});
bdd.it('should turn a user to an input box', function() {
return indexPage.login(baseUrl)
.clearLocalStorage()
.get(baseUrl + '#/details')
.findAllByCssSelector('.user-filter')
.findByName('user')
.clearValue()
.click().pressKeys(['Functional Test', '\uE015', '\uE006'])
.end()
.findByXpath('//td[@class="grid-column-user"]/span')
.click()
.end()
.findByXpath('//td[@class="grid-column-user"]/input')
.then(function (elem) {
assert.lengthOf(elem, 1, "Yay");
})
.end();
});
bdd.it('should get the error state class when incorrect input is added', function() {
return indexPage.login(baseUrl)
.clearLocalStorage()
.get(baseUrl + '#/details')
.findAllByCssSelector('.user-filter')
.findByName('user')
.clearValue()
.click().pressKeys(['Functional Tes', '\uE015', '\uE006'])
.end()
.findByXpath('//td[@class="grid-column-user"]/span')
.click()
.pressKeys(['adsf', '\uE006'])
.end()
.findByXpath('//td[@class="grid-column-user"]/input[@class="user-error"]')
.then(function (elem) {
assert.lengthOf(elem, 1, "User should be input");
})
.end();
});
所以我想推斷出很多測試之間重複的邏輯。它看起來像下面的代碼可能是在之前的塊:
bdd.before(function() {
indexPage = new IndexPage(this.remote, adminUsername, adminPass);
testUser = indexPage.login(baseUrl)
.clearLocalStorage()
.get(baseUrl + '#/details')
.findAllByCssSelector('.user-filter')
.findByName('user')
.clearValue()
.click().pressKeys(['Functional Test', '\uE015', '\uE006'])
});
bdd.it('should get the error state class when incorrect input is added', function() {
return testUser.end()
.findByXpath('//td[@class="grid-column-user"]/span')
.click()
.pressKeys(['adsf', '\uE006'])
.end()
.findByXpath('//td[@class="grid-column-user"]/input[@class="user-error"]')
.then(function (elem) {
assert.lengthOf(elem, 1, "User should be input");
})
.end();
});
當我把這個代碼放到塊之前,並將其存儲作爲一個變量,代碼的行爲不運行,因爲它沒有當它都在一個長長的鏈接電話,而不是在前面的塊。我不確定我在做什麼錯誤,因爲我已經嘗試了多次不同的迭代。
謝謝!
請說明如何將該代碼添加到before塊。 –
@CSnover我在上面添加了它 –