Java 单元测试中的数据验证
我正在从事一个包含代码和数据部分的项目。数据部分实际上是很多类似于txt文件的字典。字典由人工维护,使用文本编辑器手动添加新行。手工操作可能会导致以下错误:非法格式、打字错误等 为了防止生产中出现运行时错误(例如:由于字典行格式错误),我希望在构建期间验证字典数据。所以我的问题是:在构建期间,在单元测试中验证数据是一种好的做法吗?如果不是,最好的解决方案是什么 注意:在将代码推向生产环境之前,我们会定期运行测试,但阻止项目构建是最理想的解决方案Java 单元测试中的数据验证,java,unit-testing,validation,Java,Unit Testing,Validation,我正在从事一个包含代码和数据部分的项目。数据部分实际上是很多类似于txt文件的字典。字典由人工维护,使用文本编辑器手动添加新行。手工操作可能会导致以下错误:非法格式、打字错误等 为了防止生产中出现运行时错误(例如:由于字典行格式错误),我希望在构建期间验证字典数据。所以我的问题是:在构建期间,在单元测试中验证数据是一种好的做法吗?如果不是,最好的解决方案是什么 注意:在将代码推向生产环境之前,我们会定期运行测试,但阻止项目构建是最理想的解决方案 谢谢。单元测试应该使用预定义和不变的数据以可复制的
谢谢。单元测试应该使用预定义和不变的数据以可复制的方式测试模块化代码块
如果要验证外部数据文件,应该在程序内或使用其他工具进行。这似乎不是单元测试。我也这么认为,但如果我必须在构建过程中验证数据,您会有什么建议。谢谢:)我们已经这样做了,在程序内验证数据和使用其他工具。验证程序中的数据有点慢,所以最好在运行程序之前进行验证。如果我必须在构建过程中这样做,你会提出什么建议。谢谢。就像检查和未检查的异常一样,设计用于处理数据的程序在其控制之外对数据的有效性没有多大作用。如果您使用的是像ANT这样的构建管理器,您可以根据需要在构建之前或发布之前添加一个运行外部工具的ANT任务。谢谢。我正在使用maven,但我想maven中也有一个选项。将两者结合起来很容易:)