Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单元测试类只能使用生成器构建_Java_Unit Testing - Fatal编程技术网

Java 单元测试类只能使用生成器构建

Java 单元测试类只能使用生成器构建,java,unit-testing,Java,Unit Testing,我有一个类,它只能使用生成器模式初始化,也就是说,它没有任何其他构造函数。现在我正在对这个类进行单元测试 我的问题是,既然builder类是一个完全不同的类(我的builder类在它正在构建的类之外),那么信任builder返回的对象是否是一个好的实践?因为我没有测试builder类,所以我可能在builder中遗漏了一些东西 或者我应该先测试builder类,然后再测试另一个类。或者我应该在我的类中创建一个带参数的构造函数来进行测试 我不确定这样做的正确方法是什么。理想情况下,您应该对所有类进

我有一个类,它只能使用生成器模式初始化,也就是说,它没有任何其他构造函数。现在我正在对这个类进行单元测试

我的问题是,既然builder类是一个完全不同的类(我的builder类在它正在构建的类之外),那么信任builder返回的对象是否是一个好的实践?因为我没有测试builder类,所以我可能在builder中遗漏了一些东西

或者我应该先测试builder类,然后再测试另一个类。或者我应该在我的类中创建一个带参数的构造函数来进行测试


我不确定这样做的正确方法是什么。

理想情况下,您应该对所有类进行单元测试。然而在实践中,这可能意味着大量的工作和很少的投资回报。所以你必须运用你的判断力


在本例中,我想说,如果您的构建器类是非平凡的,那么我将首先对其进行单元测试。一旦您确信它工作正常,即所有测试都通过,那么我将对它构建的类进行单元测试。

请查看此项。这是使用Builder模式来简化测试用例。希望这能澄清一些问题。是的,我也在做同样的自动取款机,但我想知道的是,如果我的构建器坏了怎么办?这就像我依赖于生成器来返回正确的结果一样。我觉得这不是一个好方法。不要测试类,测试功能单元。如果这个构建器与目标类的关系如此复杂,请将它们视为一个单元。@chrylis实际上是的,这是一个更好的主意,用我试图构建的类测试构建器。是的,我只是在测试功能。在问题中使用了不正确的措辞。嘲笑建设者有什么错?那么你的意思是没有硬性的方法?或者仅仅是为了处理我的情况。我发现在工程设计方面没有什么硬性的方法。你必须运用你的判断,权衡你的方法的利弊。我的答案的第一部分是一个一般的经验法则。第二部分是如何将其应用于您的情况(没有看到任何代码)。