gpt4 book ai didi

java - 在 JMockit 中多次重用期望 block

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:55 25 4
gpt4 key购买 nike

我正在为 liferay 门户编写测试用例,我想在其中模拟 ActionRequest、ThemeDisplay 类对象。我尝试在每种测试方法中写下期望值。

现在我想通过创建一个 BaseTest 类来概括该方法,该类为我提供每个方法所需的所有期望,这样我就不必在所有测试类中再次编写它。

对于一门课,我尝试在@Before 方法中编写期望。如何在不同的类(class)中使用相同的内容?

例如,我想在几个类中执行以下操作:

@Before
public void setUp() {

// All expectations which are required by each test methods
new Expectations() {{
themeDisplay.getPermissionChecker();
returns(permissionChecker);
actionRequest.getParameter("userId");
returns("111");
actionRequest.getParameter("userName");
returns("User1");
}};

}

还有一种方法可以让我每次调用 actionRequest.getParameter() 时它都可以返回我提供的特定值吗?

我们将不胜感激。

最佳答案

通常,您需要创建named ExpectationsVerifications 子类,以便从多个测试类中重用。可以在 documentation 中找到示例.

请注意,在实例化所述子类时,必须传入模拟实例。

然而,像 getPermissionChecker() 这样的方法通常不需要显式记录,因为级联实例将根据需要自动返回。

不过,getParameter 等模拟方法暗示使用真实 对象可能比模拟对象更好。模拟并不是真正针对简单的“ setter/getter ”,这通常表明您可能模拟得太多了。

关于java - 在 JMockit 中多次重用期望 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29982177/

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