[英]How can I convert these JUnit 3 tests to JUnit 4?
我的公司希望离开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来帮助我,所以任何提示都会非常感激!
我要做的第一件事就是试图说服谁给了我一个不必要的任务。 我知道实习生很难,但值得确保此人理解这不是必要的。
说服事实:
这并不意味着你不必改变任何东西。 这意味着您不必更改大部分代码。 如果您有自定义运行程序,则需要使用JUnit 4样式。 您还可能需要classpath suite来收集测试。
将一些测试转换为JUnit 4也很有价值,因此团队中的开发人员可以使用一些示例。 但是将它们全部转换并不能很好地利用时间。
无法发布代码
没有代码,在互联网上获得帮助是非常困难的。 我可以理解你的雇主不希望你发布代码。 (但是他们可能不希望你发布类和方法名称 - 你做了。)幸运的是,还有另一种选择。 改为创建一个SSCCE 。 (阅读链接 - 随着你的工作进展,它会对你有所帮助。)除了更容易阅读的小例子,它还允许你更改类/方法/等名称然后你的雇主不会他们的代码在线。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.