Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 测试库的最佳方法_Java_Junit_Automated Tests - Fatal编程技术网

Java 测试库的最佳方法

Java 测试库的最佳方法,java,junit,automated-tests,Java,Junit,Automated Tests,我正在编写一个java库,可以用来远程控制传输(torrent下载客户端)。现在我可以添加/启动/停止/删除torrent。 我已经为它写了一些测试。但问题是,每次更改一些代码时,我都应该首先运行junit测试,向传输中添加一个torrent,然后检查torrent是否实际添加到传输中。然后,我运行第二个测试来停止作业,并检查它是否实际停止,以此类推。 我想知道在工业中测试代码的最佳方法是什么。是否可以在不手动检查变速箱状态的情况下运行一些测试并获得100%通过 我不会让测试依赖于其他测试。您的

我正在编写一个java库,可以用来远程控制传输(torrent下载客户端)。现在我可以添加/启动/停止/删除torrent。 我已经为它写了一些测试。但问题是,每次更改一些代码时,我都应该首先运行junit测试,向传输中添加一个torrent,然后检查torrent是否实际添加到传输中。然后,我运行第二个测试来停止作业,并检查它是否实际停止,以此类推。
我想知道在工业中测试代码的最佳方法是什么。是否可以在不手动检查变速箱状态的情况下运行一些测试并获得100%通过

我不会让测试依赖于其他测试。您的测试
TestStoppingTransmission
本身会添加一个传输,启动它,停止它,并断言结果。您可以设置、使用和分解代码等,以使部件可重用和自动化。@ChiefTwoPencils避免依赖其他测试的测试是个好主意,但有时我们不能。例如,要测试
AddTorrent
,我应该调用此函数,然后调用
GetTorrent
检查它是否真的添加到
TestAdd
中。现在这个测试依赖于
TestGet
,因为我们应该确保
GetTorrent
正常工作<另一方面,code>TestGet也依赖于
AddTorrent
。因此,两个测试相互依赖。我认为测试功能的唯一方法是打开变速器本身并手动检查结果。您可以通过不依赖其他测试来避免依赖其他测试。我理解你的意思,但事实是你应该在每个单元测试中测试一个工作单元。我建议你尽量避免你想做的事。