考虑一个spring(boot)应用程序,每当调用它的服务时,它都会向输出文件夹生成文件。我正试图用junitjupiter测试这种功能,但我希望在测试之后丢弃生成的文件,这就是我目前尝试使用junitjupiter的原因 @TempDir
. 它似乎正是我想要的,但我正在努力指示我的spring上下文将生成的文件发送到临时目录。
myservice.java文件
@Service
public class MyService {
@Value("${myservice.output-directory}")
private String outputDirectory;
public void generateOutputFiles() {
// ...
}
}
myservicetest.java文件
@SpringBootTest
class MyServiceTest {
@TempDir
protected static Path outputDirectory;
@Autowired
private MyService myService;
@Test
void test1() {
// ...
}
}
因此,我的问题是,有没有一个干净的方法来设置 myservice.output-directory
属性设置为临时目录的绝对路径?
1条答案
按热度按时间2ledvvac1#
你可以用
ReflectionTestUtils
在这种情况下。您可以在测试方法中执行,也可以在@Before
在单元测试中,如果您已经配置了application.yml
从资源目录。