如果文件上傳到AWS S3存儲桶成功,單元測試的最佳方式是什麼?單元測試文件上傳到AWS S3
現在我做了以下內容:
[Test]
public void UploadFileToAWS()
{
// Arrange
var bucket = "bucketName";
var keyName = "test_upload.txt";
var originalFile = new FileStream(@"C:\test.txt", FileMode.Open, FileAccess.Read);
// Act
var aws = new AmazonWebServicesUtility(bucket);
var awsUpload = aws.UploadFile(keyName,originalFile);
// Assert
Assert.AreEqual(true, awsUpload);
}
的方法UploadFile()使用一個FileStream上傳到AWS從AWS documentation取。
我不喜歡這種方法,它需要一個本地文件(C:\ test.txt) - 所以如果通過版本控制共享這個單元測試將無法工作。
我該如何修改這個單元測試,使其不依賴本地文件?
使用System.IO.Path.GetTempPath()
來創建一個臨時文本文件,我可以在單元測試中上傳和使用它作爲比較嗎?
我是相當新的單元測試,所以我很高興爲任何方向,你可以點我:-)
非常感謝您!
你爲什麼不能,而不依賴於文件流(例如HTTP創建自己的'Stream' /stackoverflow.com/a/1879470/1663001)?這樣你可以下載它並測試它也包含一個已知的值。 – DavidG
太棒了!這正是我所期待的。謝謝DavidG :-) – jrn