?????????????????????????????????????ξe???????????????????Visual Studio 2012??VS?е?????????????????????????????????????????????????.Net????μ????????????Nunit???????MSTest???Xunit?????????????????????????????VS?????XUnit????????????????
???????Xunit??
????Xunit???????????????????????????NuGet????????????????
????PM> Install-Package xunit
????PM> Install-Package xunit.runner.visualstudio -Pre (Visual Studio????????????? VS2015???????Pre??)
??????д??????????
?????????????????????£?
public class TestClass1
{
[Fact]
public void testMax()
{
Assert.Equal(3?? Math.Max(3?? 2));
}
[Fact]
public void testFail()
{
Assert.Equal(2?? Math.Max(3?? 2));
}
}
??????в???????
???????????????????RunAll?????????????????????????

???????????????
??????????????????
????Xunit???治???TestClass???Attribute???????????????????????????????????
???????????????public??
??????????????FactAttribute???
?????????
????Assert?????????????????????????????
????Assert.Equal(3?? Math.Max(3?? 2));
?????????????Щ????????????????xunit.should???????????????????????????????????????????
????PM> Install-Package xunit.should
????Math.Max(3?? 2).ShouldBe(3);
$new_page$

????????????????
????Xunit???沢???????SetUp??TearDown?????????????????????????????????????????в???????????????????????????????????????????IDispose??????????Dispose???????????????????????
????????????????????????????????????
??????Dispose????????????????????
??????????
????Xunit?????????Attribute???????????????????????Assert.Throws????????????????
public class TestClass1
{
[Fact]
public void testException()
{
Assert.Throws<InvalidOperationException>(() => operation());
}
void operation()
{
throw new InvalidOperationException();
}
}
????????????????????
????[Fact(DisplayName = "Max????????")]
??????????????????
????[Fact(Skip ="???δ???")]
???????飺
????[Trait("Group"?? "Category")]