java - 任何人都应该在实时开发环境中使用单元测试库方法和类吗?

标签 java unit-testing

这个问题看起来很奇怪,或者可能根本没有意义。 最近,我正在审查一些 java 语言的代码,其中开发人员使用了单元测试库“org.easytesting”中的一种方法。 示例:他使用此库中“Strings”类的方法“Strings.isNullOrEmpty”来验证某些值的不可空性,并在代码的其他位置使用其他类/方法。

我知道开发一个库是为了让我们的生活更轻松(Java 的基本原则)并且可以在任何地方/任何地方使用,但是是否有关于在实时开发代码中使用单元测试库的建议? 我知道使用它不会导致兼容性问题,因为单元测试用例总是被执行。

我搜索了很多地方,可能是我找不到合适的词来搜索。

最佳答案

可以说单元测试库只是一个库,但我不这么认为。

首先,单元测试库的目的是在非生产代码的代码中使用。这意味着,可能无法满足与生产代码相关的某些质量标准。例如,如果单元测试库中存在错误,这很烦人,但通常不会损害生产代码。或者,性能可能不太相关,线程安全等等。我不想说流行的单元测试框架质量不好。但是,这些库的开发人员完全有权根据他们的代码不会成为生产代码的一部分的假设来做出设计决策。

其次,使用图书馆应该根据各自图书馆的哲学来完成。例如,如果您使用某个 gui 库,这会对您的应用程序中完成事件处理的方式产生影响。并且,单元测试框架假设框架控制可执行文件(来自测试运行器)。因此,该库中的所有函数可能取决于正在设置和运行的测试运行器。如果库中的某些函数没有这种依赖性,那是一个实现细节,可能会随着库的新版本而改变。

最后,代码应该传达意图。这包括包括(双关语)。编写单元测试代码并不是开发人员的意图,但这正是包含单元测试库所传达的信息。

关于java - 任何人都应该在实时开发环境中使用单元测试库方法和类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53058533/

相关文章:

java - 将文件中的对象读取到数组列表中

Java:构建项目然后重新启动服务器的方法

typescript - 引用错误 : MediaStream is not defined - in unitTest with Jest

java - Rest Service URI 映射到 Java 内部类

java - 访问静态字段时出现 NullPointerException

java - 将 html 框架集代码从内存加载到 Java SWT 浏览器

python - 如何正确使用单元测试(任何语言)

ios - 在 Swift 中测试 pushViewController

python - 毒性警告 :test command found but not installed in testenv

java - 这是集成测试还是单元测试?