3
我的情況是名單如下 - 我有一個簡單的頁面,其中列出了可用的產品:角端對端測試,以檢查元素
<ul class="products ng-scope" id="products">
<!-- ngRepeat: tag in products -->
<li ng-repeat="product in products" class="ng-scope">
<a ng-href="/#/viewProduct/1" class="ng-binding" href="/#/viewProduct/1">Product A</a>
</li><li ng-repeat="product in products" class="ng-scope">
<a ng-href="/#/viewProduct/2" class="ng-binding" href="/#/viewProduct/2">Product B</a>
</li><li ng-repeat="product in products" class="ng-scope">
<a ng-href="/#/viewProduct/3" class="ng-binding" href="/#/viewProduct/3">Product C</a>
</li><li ng-repeat="product in products" class="ng-scope">
<a ng-href="/#/viewProduct/4" class="ng-binding" href="/#/viewProduct/4">Product D</a>
</li><li ng-repeat="product in products" class="ng-scope">
<a ng-href="/#/viewProduct/5" class="ng-binding" href="/#/viewProduct/5">Product E</a>
</li>
</ul>
在我的角度情況下我希望測試的產品清單等於達到預期。我知道它可以/應該是一個單元測試,但假設我想要一個e2e測試。
'use strict';
describe('my app', function() {
var productsList = [
'Product A',
'Product B',
'Product C',
'Product D',
'Product E'
];
it('should list all products', function() {
browser().navigateTo('/#/products');
var foundProducts = element('#products li').query(function(elements, done) {
var productsArray = [];
elements.each(function(index) {
productsArray.push(elements[index].innerText);
});
done(null, productsArray);
});
expect(foundProducts).toEqual(productsList);
});
});
誰能告訴我這可怎麼是:和調試角度代碼,我設法寫下面的測試 -
閱讀官方文檔(其中像往常一樣覆蓋對象的10%http://docs.angularjs.org/guide/dev_guide.e2e-testing)後做得更輕鬆?
第二個問題,爲什麼elements [index] .text()是未定義的 - 實際上這是一個如何從元素[index]中噴出jQuery對象的問題。