2011-05-31 109 views
3

1)什麼是需要幫助理解集的引用

using NUnit.Framework; 

using Microsoft.VisualStudio.TestTools.UnitTesting; 

我有讓我的測試運行一個問題之間的區別。我創建VS新項目2010(文件 - >新建項目 - >的Visual C# - >測試,和Visual Studio自動爲我帶來了一些代碼:

using System; 
using System.Text; 
using System.Collections.Generic; 
using System.Linq; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace TestProject1 
{ 
/// <summary> 
/// Summary description for UnitTest1 
/// </summary> 
[TestClass] 
public class UnitTest1 
{ 
    public UnitTest1() 
    { 
     // 
     // TODO: Add constructor logic here 
     // 
    } 

    private TestContext testContextInstance; 

    /// <summary> 
    ///Gets or sets the test context which provides 
    ///information about and functionality for the current test run. 
    ///</summary> 
    public TestContext TestContext 
    { 
     get 
     { 
      return testContextInstance; 
     } 
     set 
     { 
      testContextInstance = value; 
     } 
    } 

    #region Additional test attributes 
    // 
    // You can use the following additional attributes as you write your tests: 
    // 
    // Use ClassInitialize to run code before running the first test in the class 
    // [ClassInitialize()] 
    // public static void MyClassInitialize(TestContext testContext) { } 
    // 
    // Use ClassCleanup to run code after all tests in a class have run 
    // [ClassCleanup()] 
    // public static void MyClassCleanup() { } 
    // 
    // Use TestInitialize to run code before running each test 
    // [TestInitialize()] 
    // public void MyTestInitialize() { } 
    // 
    // Use TestCleanup to run code after each test has run 
    // [TestCleanup()] 
    // public void MyTestCleanup() { } 
    // 
    #endregion 

    [TestMethod] 
    public void TestMethod1() 
    { 
     // 
     // TODO: Add test logic here 
     // 
    } 
} 
} 

我記錄使用Selenium IDE我的測試,我得到:

using System; 
using System.Text; 
using System.Text.RegularExpressions; 
using System.Threading; 
using NUnit.Framework; 
using Selenium; 

namespace SeleniumTests 
{ 
[TestFixture] 
public class Untitled2 
{ 
private ISelenium selenium; 
private StringBuilder verificationErrors; 

[SetUp] 
public void SetupTest() 
{ 
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost/km/pldefault.aspx"); 
selenium.Start(); 
verificationErrors = new StringBuilder(); 
} 

[TearDown] 
public void TeardownTest() 
{ 
try 
{ 
selenium.Stop(); 
} 
catch (Exception) 
{ 
// Ignore errors if unable to close the browser 
} 
Assert.AreEqual("", verificationErrors.ToString()); 
} 

[Test] 
public void TheUntitled2Test() 
{ 
} 
} 
} 

我真的很困惑,當我把兩者結合起來

回答

2

NUnit和MSTest(即Microsoft.VisualStudio.TestTools.UnitTesting)都是單元測試框架。它們都用於相同的目的;讓你定義和運行單元測試。

Selenium爲開箱即用的NUnit生成測試。 There is a plugin available,它將生成MSTest的測試。我還沒試過,但看起來不錯。這將允許您在Visual Studio和TFS中輕鬆運行硒測試。

另外,你可以免費或download NUnitNuget得到它。創建一個新的類庫項目(不是測試項目)並添加對NUnit的引用。然後添加所有生成的測試。如果你想在VS中運行測試,你需要一個測試運行者,如TestDriven.NET或者你可以使用Resharper

+0

非常感謝! – Maya 2011-05-31 21:17:53

4

你困惑是有充分理由的;-)這是解決(或多或少)相同的兩個完全地分隔庫!問題。兩者都是單元測試庫,就像所有可用的xUnit庫一樣。 Visual Studio通常使用它在單元測試庫中構建測試項目。 Selenium爲另一個庫生成測試:NUnit。這是一個免費的選擇。所以如果你想使用Selenium生成的測試,你應該從一個類庫項目開始。只需添加引用NUnit,添加您生成的代碼,你應該沒問題。

+0

謝謝Achim。你說得很清楚:) – Maya 2011-05-31 21:08:59