C#/단위테스트
[C# 단위테스트] FluentFTP 관련 단위 테스트 코드 작성
범범조조
2022. 5. 3. 23:19
목적
- 앞서, FTP 서비스 샘플 프로그램 작성을 완료하였습니다.
- 실제로,
FluentFtp
서비스의 DownLoad, Upload, Delete, GetFiles 메서드들이 정상적으로 동작하는지 단위 테스트 코드를 작성하여 확인 진행하였습니다.
단위 테스트 코드
- xUnit 프로젝트를 생성 후, 단위 테스트 코드 작성 진행하였습니다.
using FtpManager;
using FtpManager.Domain;
using FtpManager.FtpConnectionInformation;
using Xunit;
namespace FtpManagerTest
{
public class FtpManagerUnitTest
{
readonly FtpIp ip = new("127.0.0.1");
readonly FtpPassword password = new("1234");
readonly FtpUser user = new("testftp");
readonly FtpHomeAddress address = new("/");
readonly FluentFtpTransfer transfer;
public FtpManagerUnitTest()
{
transfer = new(new FtpConnectionInfo(ip, password, user, address, FtpProtocol.FTP));
}
[Fact]
public void UploadTest()
{
// Arrange
string sourcePath = @"D:\WriteTestTxt.txt";
string targetPath = @"/_Dir/WriteTestTxt.txt";
// Act
var result = transfer.UpLoad(sourcePath, targetPath);
// Assert
Assert.True(result);
}
[Fact]
public void DownLoadTest()
{
// Arrange
string sourcePath = @"D:\123.txt";
string targetPath = @"/_Dir/WriteTestTxt.txt";
// Act
var result = transfer.DownLoad(sourcePath, targetPath);
// Assert
Assert.True(result);
}
[Fact]
public void DeleteTest()
{
// Arrange
string targetPath = @"/_Dir/WriteTestTxt.txt";
// Act
var result = transfer.Delete(targetPath);
// Assert
Assert.True(result);
}
[Fact]
public void GetFilesTest()
{
// Arrange
string directory = @"/_Dir";
// Act
FtpFiles ftpFiles = transfer.GetFiles(directory);
// Assert
Assert.NotNull(ftpFiles);
}
}
}
테스트 결과
- 테스트 결과, 정상적으로 테스트 실행 된 것을 확인할 수 있습니다.
728x90