我的公司想离开 JUnit 3 并开始只使用 JUnit 4。另一个实习生和我被赋予了将旧的 JUnit 3 测试转换为使用 JUnit 4 约定的任务。但是,我在转换我现在正在处理的测试文件时遇到了问题。
据我所知,有一个 generateTest 方法返回一个 SSlTest(SSlTest 是 TestCase 的子类)。返回的 SslTest 会覆盖 runTest。runTest 包含一个 try-catch 块,它启动两个线程,clientThread 和 serverThread(它们都是在 testfile 中定义的 Thread 的子类)。看起来实际测试是在线程内部完成的,因为 runTest 的其余部分用于捕获来自两个线程的异常。
generateTest 被另一个方法调用,generateSuite(返回一个TestSuite)。generateSuite 包含一个外部 for 循环,用于将套件添加到主套件。内部 for 循环使用 generateTest 向主套件中的每个套件添加测试。主要套件是该方法返回的内容。
最后,在测试文件的 main 方法中调用的 suite() 方法中,设置了一个 while 循环以使用 generateSuite 生成套件并将它们添加到更大的套件中。
我发现的关于迁移到 JUnit 4 的唯一指南是针对更简单的测试用例。我现在非常迷茫,我公司的其他人都没有足够的 JUnit 4 来帮助我,所以任何提示都将不胜感激!