2010-06-07 9 views
5

Próbuję uzyskać testowanie oparte na danych do pracy w języku C# z MSTest/Selenium. Oto próbka niektórych z mojego kodu próbuje ustawić:Problemy z testami opartymi na danych w MSTest

[TestClass] 
public class NewTest 
{ 
    private ISelenium selenium; 
    private StringBuilder verificationErrors; 
    [DeploymentItem("GoogleTestData.xls")] 
    [DataSource("System.Data.OleDb", 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=GoogleTestData.xls;Persist Security Info=False;Extended Properties='Excel 8.0'", 
    "TestSearches$", DataAccessMethod.Sequential)] 

    [TestMethod] 
    public void GoogleTest() 
    { 
     selenium = new DefaultSelenium("localhost", 4444, "*iehta", http://www.google.com); 
     selenium.Start(); 
     verificationErrors = new StringBuilder(); 
     var searchingTerm = TestContext.DataRow["SearchingString"].ToString(); 
     var expectedResult = TestContext.DataRow["ExpectedTextResults"].ToString(); 

    ... 

Oto mój błąd: Błąd 3 Odwołanie do obiektu jest wymagane dla pola non-static, metody lub właściwości „Microsoft.VisualStudio .TestTools.UnitTesting.TestContext.DataRow.get 'E: \ Projects \ SeleniumProject \ SeleniumProject \ MaverickTest.cs 32 33 SeleniumProject

Błąd jest podkreśleniem części "TestContext.DataRow" obu instrukcji. Naprawdę zmagałem się z tym, dzięki!

+0

Nie jestem pewien, jak uzyskać kod tam bez niego coraz zmasakrowany? przepraszam wszystkich – Jacob

Odpowiedz

9

try:

public TestContext TestContext { get; set; } 

i spróbuj to lubią:

this.TestContext.DataRow["SearchingString"].ToString(); 
+0

Dzięki za odpowiedź! Próbowałem twoich dodatków do kodu i mówi mi, że nie może zastosować indeksowania z [] do wyrażenia typu "System.Data.DataRow", czy uważasz, że to jest problem z moją konfiguracją do arkusza kalkulacyjnego? Jestem zupełnie nowy dla C#, jeśli nie możesz powiedzieć! – Jacob

+0

Nieważne ... działa to ... jesteś martwy dzięki metodzie TestContext dzięki! Tak musiałem go użyć, aby uruchomić go: searchTerm = System.Convert.ToString (TestContext.DataRow ["SearchingString"]); – Jacob

+0

Cieszę się, że mogę pomóc, okrzyki! – VoodooChild

Powiązane problemy