・ Web系SE募集 (技術開発部開発系エンジニア・Java/Tomcat 420万円~750万円)
   ・ 社内SE募集 (業務系システムの開発・社内イントラ)

c#の最近のブログ記事


下記のサンプルをUPしときます:SampleTestClassLibrary1.zip
※このファイルのテストする側のプロジェクトの参照設定を自分の環境にあわせて設定してください。



テストツールは
Gallio
http://www.gallio.org/
を使用する。
Gallio v3.0.5 build 546 - x86 installer
http://mb-unit.googlecode.com/files/GallioBundle-3.0.5.546-Setup-x86.msi

ユニットテストのライブラリは、
xUnit.net
http://www.codeplex.com/xunit
を使用する。
http://www.codeplex.com/xunit/Release/ProjectReleases.aspx?ReleaseId=16811#ReleaseFiles
xunit-1.1.zip
サンプルがあるので、使い方を確認できる。
xunit-1.1-samples.zip


テストされる側のプロジェクトを用意する。

namespace SampleTestClassLibrary1
{
    public class SampleClass1
    {
        public bool returnBooleanNot(bool foo)
        {
            return foo;
            //return ! foo;
        }

        public string returnStringReverse(string s)
        {
            return s;
            //char[] arr = s.ToCharArray();
            //Array.Reverse(arr);
            //return new string(arr);
        }

    }
}

テストされる側と同じソリューションに、テストするプロジェクトを追加する。

テストする側プロジェクトに、Unitテストを行うのに使用するライブラリを参照追加する。

ソリューションエクスプローラー ==> テストする側プロジェクトの参照設定を右クリックメニュー ==> 参照の追加
ダウンロードした、xunit.dll を指定する。

そして、テストされる側のライブラリも参照に加える。

それから、テストする側のプロジェクトに、テストコードを書く

using Xunit;
using SampleTestClassLibrary1;

namespace UnitTestClassLibrary1
{
    public class UnitTestClass1
    {
        [Fact]
        public void isTrue()
        {
            SampleClass1 obj = new SampleClass1();
            Assert.True(obj.returnBooleanNot(false));
        }

        [Fact]
        public void isEqual()
        {
            SampleClass1 obj = new SampleClass1();
            Assert.Equal("CBA", obj.returnStringReverse("ABC"));
        }
    }
}


Gallioを起動する。

Windowsにインストールした 「Gallio Icarus」を起動する。

Gallio Icarus のメニュー Project から、Add Assemblies... を選び、
テストする側のプロジェクト で出来た DLLファイル (UnitTestClass.dll)を選ぶ。
読み込まれた後、Startボタンを押すとテストが動き出す。


テスト結果
想定通り失敗した結果が表示された。


今度は、テストが通る様に、次のように書きなおした。
修正が済んだら、忘れずにソリューションをビルドしなおす。

using Xunit;
using SampleTestClassLibrary1;

namespace UnitTestClassLibrary1
{
    public class UnitTestClass1
    {
        [Fact]
        public void isTrue()
        {
            SampleClass1 obj = new SampleClass1();
            Assert.True(obj.returnBooleanNot(false));
        }

        [Fact]
        public void isEqual()
        {
            SampleClass1 obj = new SampleClass1();
            Assert.Equal("CBA", obj.returnStringReverse("ABC"));
        }
    }
}


そして、Gallio Icarus でもリロードするため、Reloadボタンを押す。
それから、スタートボタン。


このアーカイブについて

このページには、過去に書かれたブログ記事のうちc#カテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。