gpt4 book ai didi

java - 如何在 Junit 中模拟属性文件

转载 作者:行者123 更新时间:2023-11-30 10:35:52 25 4
gpt4 key购买 nike

我正在使用 Junit 创建单元测试用例。现在,我的应用程序是基于 Maven 的,具有许多配置文件,而且我正在使用配置文件(属性文件)中的值,这些值因配置文件而异。我希望单元测试运行在运行测试用例时将具有指定的属性,而不是配置文件。这些可以通过两种方式完成1)要么我模拟单元测试的属性文件。(我不知道如何)。2) 或者在运行时我更改属性文件参数值。(再次难以回答)。任何帮助将不胜感激。

最佳答案

一个选项:例如,使用依赖注入(inject)来获取 java.util.Properties 对象。

含义:您的生产代码只包含一个 Properties 对象;喜欢:

class Foo {
private final Properties properties;

public Foo(Properties) {
this.properties = properties;

在运行时,当创建 Foo 对象的类从磁盘读取属性文件时,将它们转换为 Properties 对象并将其提供给 Foo 构造函数。

在您的单元测试中,您的测试代码会创建一个 Properties 对象,并在创建 Foo 对象时添加您需要的任何值。

不太优雅的弯路:确保您的生产代码从在运行时 定义的位置读取其属性。这将允许您在某个临时目录中创建自定义属性文件,然后指示您的测试代码使用这些文件。

关于java - 如何在 Junit 中模拟属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884545/

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