我的公司希望摆脱JUnit 3,只使用JUnit 4,而另一位实习生和我则负责将旧的JUnit 3测试转换为使用JUnit 4约定。但是,我在转换我正在处理的测试文件时遇到了问题。
据我所知,有一个generateTest方法返回一个SSlTest (SSlTest是TestCase的一个子类)。返回的SslTest覆盖runTest。runTest包含一个try-catch块,它启动两个线程,clientThread和serverThread (这两个线程都是在testfile中定义的线程子类)。看起来实际的测试是在线程内部进行的,因为runTest的其余部分用于捕获两个线程的异常。
generateTest由另一个方法generateSuite调用(返回TestSuite)。generateSuite包含一个外部for-循环,它将套件添加到主套件中。内部for-循环使用generateTest向主套件中的每个套件添加测试。主套件是该方法返回的内容。
最后,在测试文件的主方法中调用的suite()方法中,设置一个while循环来使用generateSuite生成套件,并将它们添加到更大的套件中。
在迁移到JUnit 4时,我发现的唯一指南是更简单的测试用例。我现在很迷茫,在我的公司没有其他人知道足够的JUnit 4来帮助我,所以任何提示都会很感激!
发布于 2013-08-03 20:55:40
我要做的第一件事就是试图说服给我这个任务的人,这是没有必要的。作为一名实习生,我知道这很难,但值得确保的是,那个人明白这是不必要的。
令人信服的事实:
这并不意味着你不需要改变任何事情。这意味着您不必更改大部分代码。如果您有自定义运行程序,则需要使用JUnit 4样式。您还可能需要类路径套房来收集测试。
将一些测试转换为JUnit 4也是有价值的,因此团队中的开发人员可以使用一些示例。但是,把它们全部转化不是很好地利用时间。
无法发布代码
如果没有代码,在互联网上获得帮助是非常困难的。我能理解你的雇主不想让你贴密码。(但之后他们可能也不希望你发布类和方法名称-你做到了。)幸运的是,还有一种选择。而是创建一个SSCCE。(阅读链接--当你在工作中取得进展时,它会对你有很大的帮助。)此外,对于较小的示例更容易阅读,它将允许您更改类/方法/etc名称,然后您的雇主将不会在网上使用他们的代码。
https://stackoverflow.com/questions/17950287
复制相似问题