我有一组重复的测试用例,供不同的用户一个接一个地检查。我该怎么做呢?我想过有一个函数并在需要时调用它两次但是在这种情况下它会有点嵌套它所以它不起作用。有人可以建议我一个解决方案吗?
答案 0 :(得分:0)
封装和重用代码正是您想要在此处执行的操作。我建议你也看一下Page Object pattern。
例如,使用Angular CLI(仅describe('ngrx-intro App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should display welcome message', () => {
page.navigateTo();
expect(page.getParagraphText()).toEqual('Welcome to app!');
});
});
export class AppPage {
navigateTo() {
return browser.get('/');
}
getParagraphText() {
return element(by.css('app-root h1')).getText();
}
}
生成)生成的应用程序:
export class ListPage {
checklists: any;
checkedData: any;
checklist:any;
a:any;
constructor(public navCtrl: NavController, public navParams:
NavParams, public http: Http, public data: checklistData) {
this.data.checklistdata().then(result => {
this.checklists = result;
console.log(this.checklists)
});
for(this.a=0; this.a>0; this.a++){
console.log(this.checklist.checked)
}
}
}
<div *ngFor="let checklist of checklists; let i=index ">
<ion-item>
<ion-label>{{checklist.name}}</ion-label>
<ion-checkbox [(ngModel)]="checklist.checked"></ion-checkbox>
</ion-item>
</div>
<b>selectedItems</b>: <div *ngFor="let checklist of checklists">{{checklist.checked}}</div>
根据此示例或您的代码,您可以编写自己的测试代码,您可以为多个不同的用户重复使用。
答案 1 :(得分:0)
如果我正确地理解了这个问题,那么@Shrinidhi想要使用jasmine实现数据驱动的测试。
这可以使用jasmine-data-provider
npm包来实现。
来自页面的演示代码看起来像这样:
var using = require('jasmine-data-provider');
describe('test subtraction with data provider - direct array', function () {
using([{a: 5, b: 2, expected: 3}, {a: 25, b: 26, expected: -1}], function (data) {
it('should calc with operator -', function () {
var result = calculator.calc(data.a, data.b, '-');
expect(result).toEqual(data.expected);
});
});
});