Java 使用数据文件进行Junit测试

Java 使用数据文件进行Junit测试,java,json,testing,junit,automated-tests,Java,Json,Testing,Junit,Automated Tests,对不起,我的问题是重复的,如果是这样,请链接线程 我想用Junit测试Java。现在我有了一个数据文件并读取了这些数据。我如何验证它们?我用类和对象进行了尝试,但是如果我有很多测试用例,那么会有很多类不适合测试。我的目标是根据我读入的数据触发java中的不同操作 为了理解我的观点,下面是我的示例数据文件: { "fruit": "Apple", "size": "Large", "color": "Red" } 我们假设已经读出了这些键/值对 如果我想继续使用这些值,如

对不起,我的问题是重复的,如果是这样,请链接线程

我想用Junit测试Java。现在我有了一个数据文件并读取了这些数据。我如何验证它们?我用类和对象进行了尝试,但是如果我有很多测试用例,那么会有很多类不适合测试。我的目标是根据我读入的数据触发java中的不同操作

为了理解我的观点,下面是我的示例数据文件:

{
    "fruit": "Apple",
    "size": "Large",
    "color": "Red"
}
我们假设已经读出了这些键/值对

如果我想继续使用这些值,如何验证它们?比如,如何检查关键水果和苹果值的拼写是否正确? 可能是我里面有个字母扳手之类的东西


我希望您能给我提供其他选项,而不是让对象与它们一起工作。

当您读入文件时,我假设您正在将键、值对存储到实现
映射
接口的数据结构中

我还假设您有一组离散的合法输入。例如,
“水果”
属性的
“苹果”、“橘子”、“梨”

在这种情况下,这些有效输入可以存储在
集合中。然后可以使用此集合检查验证。如果
“fruit”
的数据文件中的输入是
“Apple”
,则检查验证集是否包含字符串
“Apple
。如果包含,则输入有效,否则可以引发异常

一旦实现了这一点,单元测试将能够测试您的代码是否对给定的输入起到了适当的作用。您可以使用Junit测试是否使用无效输入引发了相关的异常


希望这能有所帮助。这可能不是最聪明或最有效的方法,但应该能让你达到你想要的目的。

JUnit是用来验证你的代码如何工作,而不是验证文件中的数据。是的,我知道。但是如果我有一个文件中未验证的数据,那么我的代码可能无法工作。如果它仍然无法工作,那么我就可以使用它这是我的代码/逻辑我将重申:JUnit测试针对的是代码,而不是文件。在测试中,您总是假设您的文件是正确的,您只需测试代码的功能。是的,它实现了映射。谢谢!我会尝试