我的SpringBoot项目的结构是:
没有主类,我已经将该项目编译为jar
文件。
现在,我想在命令行的Send1000EmailsIn24hours
文件的屏幕快照jar
的最后一行显示的测试类中,运行一个名为“ testEmailSending”的方法。
我之所以要在jar
文件中运行此测试,是因为整个项目只是一个测试,但是我认为由于这是一个测试,所以我不应该将代码放在最好使用main
类,将其放在测试中。
我不确定这是否正确。我应该只将测试代码放在主类中吗?
答案 0 :(得分:1)
正如Alexei Kovalev所暗示的那样,您永远不想这样做。
测试代码是测试代码。好的做法是永远不要将其包含在应用程序中,并且默认使用maven / gradle来实现。
使用spring boot时,建议您在框架提供的工具框架内执行测试和集成测试:用@SpringBootTest
注释测试可以通过加载spring上下文来实现该目标,就像运行jar一样。
如果除了这些测试之外,您还需要在JAR上执行测试,那么您当然可以这样做。在某种程度上,这可能是有道理的,因为JAR可能具有一些可以测试的包装差异。但是您应该为此编写一些测试。因为打包一个完整的Spring Boot应用程序是一个缓慢的过程,并且还因为您无法从Spring Boot提供的所有测试工具中受益。
总体思路是: