java 读写临时文件

在进行单元测试时,为了确保读写函数的正确性,可以利用临时文件避免路径问题和权限问题。本文通过一个Java单元测试示例展示了如何创建、写入和读取临时文件,并确保测试的稳定性和跨平台兼容性。测试结果显示,临时文件成功地被创建并读取,验证了功能的正常运行。
摘要由CSDN通过智能技术生成

写单测有时需要读取磁盘上的文件以测试读、写函数的功能是否正常,但是文件路径如果设置不恰当,路径不存在 或者 程序对该路径没有访问权限,单测就会挂掉。有时候本地单测功能正常,一跑 CI 就挂了,很烦~~

这种场景下,临时文件就很好的解决了这个问题。

单测 demo:

package com.example.demo;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.nio.file.Files;
import java.nio.file.Path;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;

@SpringBootTest
class DemoApplicationTests {	
	@Test
	public void should_create_temp_file_write_and_read_succeed() {
		String context = "create-temp-file-write-and-read";
		try{
			Path path = Files.createTempFile("temp-file",".txt");
			System.out.println("temp-file-path: " + path.toString());

			Files.write(path,context.getBytes());

			String fetch = Files.readAllLines(path).get(0);
			System.out.println("fetched context: " + fetch);

			assertThat(fetch, is(context));
		
        }catch (Exception e){
			e.printStackTrace();
		}
	}

}

测试案例的代码逻辑很简单,测试结果如下:

temp-file-path: /var/folders/5s/w0fmzrbj17nd7d7kyz3vx0x40000gn/T/temp-file7412232211465511032.txt
fetched context: create-temp-file-write-and-read

查看创建的临时文件:

cat /var/folders/5s/w0fmzrbj17nd7d7kyz3vx0x40000gn/T/temp-file7412232211465511032.txt

create-temp-file-write-and-read%
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值