저는 mocha과 zombie을 사용하고 있습니다.
내 목표는 웹 사이트 <a>
에서 데이터를로드 한 다음 웹 사이트에서 태그를 쿼리 이름과 href로로드하는 것입니다. 지금까지 작동 중입니다.약속을 사용하여 모카를 지연 시키십시오.
const Browser = require('zombie')
const browser = new Browser()
browser.visit('page',() => {
let temp = browser.document.querySelectorAll('a selector')
for (let i = 0; i < temp.length; i++) {
browsers.push({ name: temp[i].innerHTML, url: temp[i].href })
}
delete temp
})
다음 단계는이 데이터를 테스트에 사용하는 것입니다.
는const data = [{ name: 'name', url: 'test' }]
describe('test with for',() => {
for (let i = 0; i < data.length; i++) {
it(data[i].name,() => {
// test code with url of data[i]
})
}
})
I 가진 유일한 문제 data
배열 비동기 충전하고 it
함수를 호출시에 존재한다는 것이다. 그래서 내가이 일을 tryed
나는 before
를 사용하여 tryed하지만 난 그것 (때문에 비동기 데이터에 따라 달라질 수 있습니다 실행 코드와 코드에 pased 유일한 기능을 중지하지 않는 비동기 함수를 호출) 여기 sence을하지 않는 것을보고 Promise
을 사용했지만 실패했습니다.
const data = []
new Promise((resolve, reject) => {
// filing data
resolve()
}).then(() => {
describe('...',() => {
for (let i = 0; i < data.length; i++) {
it (data[i].name,() => {})
}
})
})
나는 모카 문서를 쳐다 보면서 솔루션을 찾을 수 없습니다 :/
가 어떻게이 문제를 해결해야합니다를?