我正在为一个功能编写单元测试,并让我对照几十个测试数据进行检查。如果该功能不适用于其中一种测试用例,那么我希望它在该功能失败的地方显示特定的数据。
就我而言,我在为测试编写的后端中有大约一百个函数,并且每个函数我都在编写一些Chai.js assert()
用例,它们可以检查许多测试数据。我不想让它跨数十个数据打印出相同功能的单个测试,因为我希望在整个后端运行测试时保持日志可读。
这是我目前编写测试的方式:
context('relative urls should be removed', function () {
it('data should initially contain relative urls', async function () {
assert(testHTML.every(containsRelativeURLs));
});
// (run testHTML through my function here)
it('data should end with no relative urls', async function () {
assert(!testHTML.every(containsRelativeURLs));
})
});
如果我误解了编写单元测试的正确方法,请告诉我。如果有更清洁或更标准的方法,我想知道。
答案 0 :(得分:0)
assert
可以采用两个参数-第一个是您的断言,第二个是消息。您可以使用message param来记录信息。
describe('it passes all the tests /', ()=>{
testData.forEach(testAsync =>
it('should pass this test', async (done) =>
const result = await testAsync
assert(result === expectedResult, "bad ${result} returned by testAsync")
done()
)
})