我打包域項目以存儲dbml文件和多個域類。我創建了單元測試項目來測試CRUD操作。我將域項目引用到測試項目中。在域項目之外訪問LINQ to SQL數據上下文
我在單元測試中聲明瞭db上下文,在測試方法I try to access method db.SubmitChanges(); but It is not accessible
中。
但是當單元測試文件存儲在域項目中時,db方法是可訪問的。
[TestFixture]
class CustomerRepositoryTest
{
NorthWindDataContext db = new NorthWindDataContext();
Customer _customer = null;
[SetUp]
public void SetUp() {
//initialize customer
}
[Test]
public void Should_able_to_get_data_when_data_is_inserted()
{
db.Customers.InsertOnSubmit(_customer);
db.SubmitChanges();
Customer customer = db.Customers.FirstOrDefault(c => c.CustomerID == _customer.CustomerID);
Assert.AreEqual(customer.CustomerID.Trim(), _customer.CustomerID);
Assert.AreEqual(customer.ContactName.Trim(), _customer.ContactName);
}
[TearDown]
public void After()
{
db.Customers.DeleteOnSubmit(_customer);
db.SubmitChanges();
}
}
讓我知道如何解決這個問題。
編輯:
Error 1 'AppProject.Domain.NorthWindDataContext' does not contain a definition for 'SubmitChanges' and no extension method 'SubmitChanges' accepting a first argument of type 'AppProject.Domain.NorthWindDataContext' could be found (are you missing a using directive or an assembly reference?) D:\tutorial\dotNET\LINQtoSQL\AppProject.Spec\Should_insert_customer.cs 40 16 AppProject.Spec
在您的例子請具體談談預期什麼行不通,因爲這應該是罰款 –
我嘗試ACC從單元測試項目中的單元測試文件中獲取數據庫上下文方法。但該方法不可訪問。但是,當單元測試存儲在域項目中時,可以訪問數據庫上下文方法。 –
你是什麼意思的「db上下文方法」。什麼線路失敗?什麼信息? –