Java:在编译时或应用程序执行时运行测试

标签 java unit-testing testing

首先我不擅长测试。我有一个 OSGI CRUD 应用程序。我想对自动测试业务逻辑进行测试。我在这里看到两个选项:

  1. 在编译时运行测试——在特定的 maven 阶段
  2. 将测试作为单独的包进行,并在启动应用程序后运行它。例如,如果我在主菜单中单击某处。

哪个是正确的选择?或者两者皆有可能?

我问这个问题的原因如下:

  1. 我从未见过选项 2,但见过很多选项 1。
  2. 选项 2 对我来说更好,因为业务逻辑包括使用数据库、索引系统和内存缓存,我不知道如何在编译期间检查它。

最佳答案

从技术上讲,选项 1 不是编译时测试。 Maven 在编译代码后安装/部署包之前运行测试。

选项 1 用于单元测试。详细地说,在安装或部署任何 bundle 之前,需要确保代码的每个单元都按预期工作。

选项 2 用于功能测试。测试从调用或测试主要网关或主要功能开始,这将在内部调用多个模块。根据输入,某些单元可能会执行,也可能不会执行。此测试的主要重点是覆盖并确保功能的不同场景。

优秀的开发者应该两者兼顾。希望这可以帮助!!

关于Java:在编译时或应用程序执行时运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011589/

相关文章:

ruby - 确保拆卸在 Test::Unit::TestCase 中运行?

安卓工作室 : Can not find Run test choice

java - 如何指定测试中方法的执行顺序?

java - 当输入来自多个文件时如何使用参数化 junit?

c# - EF 中的复合键有效吗?

testing - 由于 testhost.dll,Azure-DevOps 管道失败

java - infinispan中的javax.cache.annotation.CacheResult方法中是否需要参数

java - JHipster Liquibase 警告 SSL Mysql

java - 将 CrudRepository 中发出的命令转换为函数时出现问题

java - 我的角色扮演游戏中静态最终对象的滥用是什么?