[C# 단위테스트] FluentFTP 관련 단위 테스트 코드 작성


목적

  • 앞서, 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

이 글을 공유하기

댓글

Designed by JB FACTORY