gpt4 book ai didi

testing - 在集成测试中,为了测试用同步进程替换异步进程是否有意义?

转载 作者:行者123 更新时间:2023-11-28 19:46:49 25 4
gpt4 key购买 nike

在集成测试中,异步过程(方法、外部服务)构成了非常艰难的测试代码。相反,如果为了测试,我将异步部分分解出来并创建一个依赖项并将其替换为同步部分,这会是一件“好事”吗?

通过用同步进程替换异步进程,我不是在本着集成测试的精神进行测试吗?我想我假设集成测试是指接近真实事物的测试。

最佳答案

好问题。

在单元测试中,这种方法是有意义的,但对于集成测试,您应该测试真实系统,因为它会在现实生活中运行。这包括任何异步操作及其可能产生的任何副作用 - 这是最有可能存在错误的地方,可能是您应该集中测试而不是将其排除在外的地方

我经常使用“waitFor”方法,轮询以查看是否已收到答案,如果没有收到则在一段时间后超时。这种模式的一个很好的实现是 JUnitConditionRunner,虽然你可以得到要点的特定于 java .例如:

conditionRunner = new JUnitConditionRunner(browser, WAIT_FOR_INTERVAL, WAIT_FOR_TIMEOUT);   

protected void waitForText(String text) {
try {
conditionRunner.waitFor(new Text(text));
} catch(Throwable t) {
throw new AssertionFailedError("Expecting text " + text + " failed to become true. Complete text [" + browser.getBodyText() + "]");
}
}

关于testing - 在集成测试中,为了测试用同步进程替换异步进程是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1396407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com