2009-07-07 5 views
0

L'utilisation du nouveau test intégré pour Active Record (définissez "Test" comme chaîne de connexion) J'ai rencontré un problème lors d'une mise à jour.Test d'enregistrement actif Subsonic 3

Le code que je teste extrait un objet existant de la base de données, y apporte des modifications, puis l'enregistre.

public void SaveProduct(string productId) { 

var dbProduct = Model.Generated.Product.SingleOrDefault(x => x.ProductID == productId); 

dbProduct.Description = "Description"; 
dbProduct.Price = "Price"; 

dbProduct.Save(); 

} 

Pour le tester, je crée une nouvelle liste de produits, avec un produit dedans.

_dbProducts = new List<Product> 
         { 
          new Product 
           { 
            ProductID = "XXX0001" 
           } 
         }; 

Puis j'ai mis en place le test (faux).

Product.Setup(_dbProducts) 

appel à la méthode sauver

repository.SaveProduct("XXX0001"); 

Le problème est que je reçois le message d'erreur suivant ...

System.NotImplementedException: La méthode ou opération n'est pas mis en œuvre. à SubSonic.Repository.TestRepository`1.Add (élément T, fournisseur IDataProvider) à Model.Generated.Product.Add (fournisseur IDataProvider) dans ActiveRecord.cs: ligne 708 à Model.Generated.Product.Save (Fournisseur IDataProvider) dans ActiveRecord.cs: ligne 721 à Model.Generated.Product.Save() dans ActiveRecord.cs: ligne 715 à Subsonic.PDAJobRepository.SaveProduct() dans ProductRepository.cs: ligne 46 à Tests.ProductRepository.When_Saving_Product. configuration() dans When_Saving_Product.cs: ligne 44

Répondre