【发布时间】:2018-02-02 08:38:00
【问题描述】:
我正在尝试使用 cypress 来测试我构建的大型 Angular 应用程序。我的要求是我将一个期望文件加载到我的测试中,然后从这个期望文件中驱动测试。
到目前为止,我无法使用 cy.readFile()、cy.fixture() 甚至 axios 的各种组合通过 http 加载文件。
问题似乎是我不能在it() 之外使用这些方法,如果我不能这样做,这意味着我不能遍历数据来创建它。我正在尝试做类似下面的事情......这在柏树中是否可能?我错过了什么明显的东西吗?
假设我的期望是这样的:
{
"mainPage": [1, 2, 3],
"otherPage": [4, 5, 6]
}
我希望我的代码能够加载它并浏览各个页面:
describe(`Test the app `, function() {
cy.readFile("path/to/expectation.json").then(function(expectation) {
Object.keys(expectation).forEach(function(pageName) {
it(`for page ${pageName}`, function() {
gotoPage(pageName);
var pageData = getDataFrompage();
expect(pageData).to.equal(expectation[pageName]);
})
})
})
})
在我看来,这似乎是一个非常明显的用例,所以我很困惑为什么它看起来如此困难:)
【问题讨论】:
标签: javascript angularjs testing mocha.js cypress