Javascript 在WebDriverJS中,仅当值存在时才断言是否正确?

Javascript 在WebDriverJS中,仅当值存在时才断言是否正确?,javascript,testing,webdriver,selenium-chromedriver,Javascript,Testing,Webdriver,Selenium Chromedriver,我只想在如下所示的值存在时断言 var data = await driver.getData(); if(data) { assert(data).to.equal('tool'); } 因为有时我的数据为空,所以在这里处理这个问题是正确的方法吗?或者其他方法来处理它?可能不会。。。测试中的条件句通常是个坏主意。如果数据为假,该测试告诉你什么?“有时”对我来说,这是一个不可靠的测试。如果是不可靠的,请考虑嘲笑 GETDATABOS/COD>。如果我模拟数据,那么它不测试我想要什么?是否

我只想在如下所示的值存在时断言

var data = await driver.getData();
if(data) {
   assert(data).to.equal('tool');
}

因为有时我的数据为空,所以在这里处理这个问题是正确的方法吗?或者其他方法来处理它?

可能不会。。。测试中的条件句通常是个坏主意。如果数据
为假
,该测试告诉你什么?

“有时”对我来说,这是一个不可靠的测试。如果是不可靠的,请考虑嘲笑<代码> GETDATABOS/COD>。如果我模拟数据,那么它不测试我想要什么?是否考虑模拟第三方库api?在测试中设置边界,以免最终依赖他人的代码或服务。我不能留下答案,但我的建议是查看如何使用测试运行程序(如Jest)模拟第三方API。让它返回您期望的数据,无论是充满信息的还是空的,并相应地编写您的测试。我个人不喜欢它,因为测试不可靠。否则会是什么情况?