豚吐露@wiki
howto
最終更新:
ohden
-
view
xUnitの使い方
Windows10(64bit) 20H2(build 19042.2364)
Visual Studio Professional 2019 (Version 16.11.18)
Visual Studio Professional 2019 (Version 16.11.18)
xunit 2.4.2
xunit.runner.visualstudio 2.4.5
ChainingAssertion-xUnit.Bin 1.8.1
MoqExpression 2.0.0
xunit.runner.visualstudio 2.4.5
ChainingAssertion-xUnit.Bin 1.8.1
MoqExpression 2.0.0
公式
Annotation
- [Fact]
TestCaseを示す。[Theory]と排他。
[Fact(DispalyName = "表示名", Skip = "skip reason")]
て感じに、DisplayNameで表示名を、SkipでTestの実行をskipさせることができる。
DisplayNameを設定しないと関数名が表示される。
DisplayNameを設定しないと関数名が表示される。
- [Theory]
InlineDataやCsvDataとセットで利用する。[Fact]と排他。
1つのTestMethodに対し、TestMethodの入力引数だけ変えたい場合は[Fact]では無く[Theory]を使う。
入力dataを受け付ける必要があるため、引数があったら"Theory"。無かったら"Fact"という認識で良いみたい。
1つのTestMethodに対し、TestMethodの入力引数だけ変えたい場合は[Fact]では無く[Theory]を使う。
入力dataを受け付ける必要があるため、引数があったら"Theory"。無かったら"Fact"という認識で良いみたい。
[Theory(DispalyName = "表示名", Skip = "skip reason")]
Factと同様にDisplayNameとSkipを備える。
- [InlineData]
TestMethodに引数を定義し、その引数の数、型に合ったparameterを指定することでTestMethodに値を渡せる。
[Theory] [InlineData("hoge", 111)] public void UnitTestSamle(string str, int num) { // test process. }
- [CsvData]
csv fileを左から引数指定数分その型として解釈してTestMethodに引き渡す。
[Theory] [CsvData("../../test.csv")] public void UnitTestSamle(int num1, int num2) { // Test Process. }
- [AttributeUsage]
任意の属性を定義できる。
- [assembly]
InternalsVisibleToでTestProjectのNameSpaceを与えると、そのNameSpaceのTestProjectからInternal Classへのaccessが可能となる。
[assembly: InternalsVisibleTo("TestProject.NameSpace")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] namespace TestTargetNamespace { // test対象のclass、methodなど }
"DynamicProxyGenAssembly2"は、Protectedなmethodに対してMoqを適用したいときに必要だった。詳しくはMoqのpage参照。
Assert
xUnit
- Assert
ChainingAssertion
- Is
- IsNot
- IsFalse
- IsNull
- IsNotNull
- IsInstanceOf<T>
- IsNotInstanceOf<T>
- IsSameReferenceAs<T>
- IsNotSameReferenceAs<T>
- IsStructuralEqual<T>
- IsNotStructuralEqual<T>
更新日: 2022年12月28日 (水) 12時59分14秒