開發環境:Visual Studio 2012, Update 1 (必須)。

說明:VS2012 已整合各測試框架的 Test Runner,包括 NUnitxUnit 等。藉由標準的介面,可讓各類測試框架於 VS2012 內的 Test Explorer 歸納測試方法 (methods),並執行測試、瀏覽測試結果。

xUnit 可說是繼老牌 NUnit 的後起之秀。關於兩者之間的比較,可參考-xuint和其他的單元測試框架的比較。個人尤為欣賞 xUnit 的 DDT (Data Driven Test)的機制-Theory,可參考這一篇-xUnit Theory, the Data Driven Unit Test

xUnit Theory 可讓測試方法具有參數 (parameters),而能接收多個資料來源 (InlineData, PropertyData, ClassData, ExcelData, OleDB/Sql ServerData)的資料輸入,讓測試機制更能充分利用測試數據。一個 Theory 可參考如下的寫法。

 1: [Theory]
2: [InlineData(1, 2, 3)]
3: [InlineData(3, 4, 7)]
4: [InlineData(30, 10, 40)]
5: public void Add_AddDataValues_ReturnsExpectedResult(int first, int second, int expected)
6: {
7: var actualResult = Calculator.Add(first, second);
8:
9: Assert.Equal(expected, actualResult);
10: }

安裝:兩個 xUnit 套件是必要安裝的 (全於 VS2012 內安裝)。

  1. xUnit.net runner for Visual Studio 2012 extension
  2. 利用 NuGet 安裝 xUnit.NET。

o xUnit.net runner for VS2012 extension:
在 VS2012 的選單-[Tools] → [Extensions and Updates],搜尋「xUnit Test Runner」並安裝,然後重啟 VS2012 即可。

o 利用 NuGet 安裝 xUnit.NET:
這裡要注意的是,NuGet 套件管理員所安裝的套件是依附於 Solution/Projects 之內的。所以需要先新增一個 Solution/Project 的測試專案,然後再於該專案內右鍵點選「Manage NuGet Package ...」,搜尋「xUnit.NET」並安裝,隨即會安裝 xUnit test frameowkr 於該 Solution/Project 內並會自動新增其參考 (reference)。

※ 其實那只是下載 xunit.dll 並新增對其的參考。建議是安裝於單一測試專案內,而不是安裝於整個 solution 內。

o 撰寫簡單的測試程式,並於 Test Explorer 內執行測試方法並觀察結果。

using Xunit;
public class MyTests
{
[Fact]
public void MyTest()
{
Assert.Equal(4, 2 + 2);
}
}

转自:http://www.kenming.idv.tw/install_xunit_test-framework_at_vs2012

[備註] 安裝與整合 xUnit 測試框架@VS2012的更多相关文章

  1. 【转】什麼是 Team Explorer Everywhere 2010 ?TFS 專用的 Eclipse 整合套件的安裝與設定

    前言- 大家都知道 版本管控是一件很重要的事情!而且也知道分別有 VSS , SVN , TFS 等- 多數人都會覺得, .NET 的開發工具要用 VSS . TFS .SVN 而 Java 的 Ec ...

  2. Windows的免費hMailServer搭配SpamAssassin過濾垃圾郵件:安裝與設定

    http://jdev.tw/blog/1677/hmailserver-with-spamassassin-sawin32 為了解決垃圾信泛濫的狀況,這兩天「跨界」測試了運行在Windows上的免費 ...

  3. Gazebo機器人仿真學習探索筆記(一)安裝與使用

    Gazebo提供了多平臺的安裝和使用支持,大部分主流的linux,Mac以及Windows,這裏結合ROS以Ubuntu爲例進行介紹. 首先是參考資料:http://gazebosim.org/tut ...

  4. sbt安裝與配置

    官方下載地址:https://www.scala-sbt.org/download.html?spm=a2c4e.11153940.blogcont238365.9.42d147e0iF8dhv 解压 ...

  5. mockito測試框架

    1. code package com.springinaction.knights; import static org.mockito.Mockito.*; import org.junit.Te ...

  6. MAC安裝《Genymotion Android模擬器》大玩Android APP (神魔之塔)

    链接地址:http://www.minwt.com/mac/10083.html/comment-page-2 MAC» 智慧型裝罝» Android | 2014/02/12 Android是一個開 ...

  7. 鸟哥之安裝 CentOS7.x

    http://linux.vbird.org/linux_basic/0157installcentos7.php since 2002/01/01 新手建議 開始閱讀之前 網站導覽 Linux 基礎 ...

  8. 如何在 Windows 7 安裝 SharePoint Server 2010

    转:http://support.microsoft.com/kb/2683572/zh-tw 關於作者: 本文由微軟最有價值專家 MVP 歐志信 提供.微軟十分感謝 MVP 主動地將他們的經驗與上百 ...

  9. Darwin Streaming Server 安裝操作備忘

    Darwin Streaming Server 安裝操作 Darwin Streaming Server是蘋果公司推出的開放源碼.跨平台多媒體串流伺服器, 提供音樂 (mp3) 與影音 (3gp.mp ...

随机推荐

  1. 消息通讯之关于消息队列MQ必须了解的相关概念

    目录 系统通讯方式有哪些? 消息队列的应用场景 消息队列通讯模型 常见的消息协议 AMQP MQTT ATOMP JMS 小结 系统通讯方式有哪些? RPC调用 RPC 全称 Remote Proce ...

  2. git 提示:fatal: remote origin already exists. 错误解决

    今天git连接远程库的时候出现fatal: remote origin already exists. 这个错误 大概是之前连接过别的库吧 然后我们的解决办法就是删除之前的连接 1.删除git远程仓库 ...

  3. 专访|HPE测试中心总监徐盛:测试新思维-DevOps,持续测试,更敏捷,更快速

    2016年7月22日,「HPE&msup软件技术开放日」将在上海浦东新区,张江高科技园区纳贤路799号科荣大厦小楼2楼举办,msup携手HPE揭秘全球测试中心背后的12条技术实践. 徐盛:HP ...

  4. Anaconda中配置Pyspark的Spark开发环境

    1.windows下载并安装Anaconda集成环境 URL:https://www.continuum.io/downloads 2.在控制台中测试ipython是否启动正常 3.安装JDK 3.1 ...

  5. JNUOJ 1180 - mod5

    首先,可以自己先一个超时的标程出来: #include<cstdio> typedef long long ll; ll n,m,cnt; int main() { int t; scan ...

  6. POJ 2240 - Arbitrage - [bellman-ford求最短路]

    Time Limit: 1000MS Memory Limit: 65536K Description Arbitrage is the use of discrepancies in currenc ...

  7. Indexes (also called “keys” in MySQL)

    High Performance MySQL, Third Edition by Baron Schwartz, Peter Zaitsev, and Vadim Tkachenko   Is an ...

  8. JS-nodejs--nodewebkit--npm穿墙cnpm

    npm install 本地安装与全局安装的区别 本地安装1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)2. 可以通过 require() 来引入本地安装的包 全局安装 ...

  9. idea导出war包并在tomcat上部署

    生成war包 (一)进入项目配置页面 然后到达: (二)选择 设置好路径 然后apply (三)生成 然后再指定的目录就可以看见war包了. 部署到tomcat上 (一)将war包拷贝到tomcat的 ...

  10. 【Python爬虫】如何确定自己浏览器的User-Agent信息

    User-Agent:简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本.浏览器及版本等信息.在做爬虫时加上此信息,可以伪装为浏览器:如果不加,很可能会被识别出为爬虫. 那么如 ...