gpt4 book ai didi

java - Junit 测试共享同一个数据对象?我应该 mock 它还是什么?

转载 作者:行者123 更新时间:2023-11-28 20:21:09 27 4
gpt4 key购买 nike

我需要测试三个类,比方说 Load、Transform、Perform,它们都开始或处理同一个数据对象,至少这是需要的,Load 方法从一个数据对象 X 执行它们的事情它,然后它被提供给 Transform,它也用它的方法做它的事情,还有一个 Perform,它稍微改变数据对象,它就准备好了。

现在我想为 Load、Transform 和 Perform 编写测试。

测试数据对象,我是否应该在 Load 类中创建一个静态方法,如

public static TestData makeTestData(...makeit...)

或者我应该创建一个 TestDataMock 或 TestDataTest 类吗?哪位可以返回一个例子呢?并在每个 Load、Transform 和 Perform 需要处理时创建一个新的 TestDataTest 类?

最佳答案

您应该始终努力使单元测试彼此独立。出于这个原因,您应该始终为每个测试创建任何新的输入测试数据,只要有可能。您要测试的是“给定输入数据 X,验证输出为 Y”。 JUnit 具有 @Before 注释,您可以使用它来注释要在该类中的每个测试用例之前运行的方法。通常,这是您放置所有设置代码(创建和初始化模拟对象、创建或加载测试数据等)的地方。

或者,您可以将加载、转换和执行操作组合到一个测试用例中,但这更像是一种集成测试,而不是单元测试。

关于java - Junit 测试共享同一个数据对象?我应该 mock 它还是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7120084/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com