首先我不擅长测试。我有一个 OSGI CRUD 应用程序。我想对自动测试业务逻辑进行测试。我在这里看到两个选项:
- 在编译时运行测试——在特定的 maven 阶段
- 将测试作为单独的包进行,并在启动应用程序后运行它。例如,如果我在主菜单中单击某处。
哪个是正确的选择?或者两者皆有可能?
我问这个问题的原因如下:
- 我从未见过选项 2,但见过很多选项 1。
- 选项 2 对我来说更好,因为业务逻辑包括使用数据库、索引系统和内存缓存,我不知道如何在编译期间检查它。
最佳答案
从技术上讲,选项 1 不是编译时测试。 Maven 在编译代码后安装/部署包之前运行测试。
选项 1 用于单元测试。详细地说,在安装或部署任何 bundle 之前,需要确保代码的每个单元都按预期工作。
选项 2 用于功能测试。测试从调用或测试主要网关或主要功能开始,这将在内部调用多个模块。根据输入,某些单元可能会执行,也可能不会执行。此测试的主要重点是覆盖并确保功能的不同场景。
优秀的开发者应该两者兼顾。希望这可以帮助!!
关于Java:在编译时或应用程序执行时运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011589/