2012-04-30 98 views
0

在我的C#類項目,我有一個具有以下屬性的輔助類ConfigurationManager中的代碼無法從NUNIT項目調用時

public class Helper 
{ 
    public string ConnectionString 
    { 
     get 
     { 
      return ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 
     } 
    } 
} 

我下面的測試失敗時,我打電話從NUNIT工程輔助類有錯誤信息:失敗:System.NullReferenceException:未將對象引用設置爲對象的實例。

[Test] 
    public void connection_string_exists() 
    { 
     string connection = new Helper().ConnectionString; 
     Assert.NotNull(connection); 
    } 

如果我運行代碼新助手()的路線。從asp.net項目,然後它工作的ConnectionString。爲什麼測試失敗?

請讓我知道。

+0

.config文件從發現EXE名稱。自從nunit進行測試以來,這不是常見的一種。 –

回答

1

我懷疑你的NUnit的測試是一個不同的項目的一部分,當你運行測試,ConfigurationManager中查看您的測試項目中的配置文件,並沒有發現「MyConnectionString」

+0

那麼我該如何解決這個問題? –

+1

也許添加一個配置文件到你的Nunit項目中,並且有一個部分有值。但是,那麼問題是,是否應該有單元測試?我看到你爲此編寫單元測試的意圖,但我不確定這是否適合作爲單元測試用例。也許其他人可以爲更廣泛的觀點增加他們的觀點。 – shashi

+0

同意。你是單元測試的基本.NET功能。將其留給微軟測試。 – tsells

相關問題