【C#】xUnitを使用した単体テスト

環境

.NET コマンド ライン ツール (2.1.2)

Product Information:
 Version:            2.1.2

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.12
 OS Platform: Darwin
 RID:         osx.10.12-x64

Microsoft .NET Core Shared Framework Host
  Version  : 2.0.3

ファイル構成

|--PrimeService
|  |--PrimeService.cs
|  |--PrimeService.csproj
|--PrimeService.Tests
|  |--PrimeService.Tests.csproj
|  |--PrimeService_IsPrimeShould.cs
|--TDD.sln

PrimeService_IsPrimeShould.cs

using Xunit;
using Prime.Services;

namespace Prime.UnitTests.Services
{
        public class PrimeService_IsPrimeShould
    {
        private readonly PrimeService _primeService;

        public PrimeService_IsPrimeShould()
        {
            _primeService = new PrimeService();
        }

        [Fact]
        public void ReturnFalseGivenValueOf1()
        {
            var result = _primeService.IsPrime(1);

            Assert.False(result, "1 should not be prime");
        }
    }
}

PrimeService.cs

using System;

namespace Prime.Services
{
    public class PrimeService
    {
            public bool IsPrime(int candidate)
            {
                if (candidate == 1)
                {
                        return false;
                }
                throw new NotImplementedException("Please create a test first");
            }

    }
}

出力

$ cd PrimeService.Tests/
$ dotnet test

テスト実行
Microsoft (R) Test Execution Command Line Tool Version 15.5.0
Copyright (c) Microsoft Corporation.  All rights reserved.

テスト実行を開始しています。お待ちください...
[xUnit.net 00:00:00.4434140]   Discovering: PrimeService.Tests
[xUnit.net 00:00:00.5006950]   Discovered:  PrimeService.Tests
[xUnit.net 00:00:00.5068960]   Starting:    PrimeService.Tests
[xUnit.net 00:00:00.6747760]   Finished:    PrimeService.Tests

テストの合計数: 1。成功: 1。失敗:0。スキップ: 0。
テストの実行に成功しました。
テスト実行時間: 1.5004 秒

参考:
dotnet テストと xUnit を使用した .NET Core での単体テスト C# コード | Microsoft Docs