Salut, je commence tout juste avec Test Driven Development. J'ai un code où j'ai deux cas de testLe référentiel Mock généré par NUnit renvoie le même objet dans différents cas de test.
[Test, Order(3)]
public void Should_Not_Create_ServiceAccountTaxCode_If_BillType_Is_Not_RateReady()
{
//ARRANGE
var customerDetailsViewForBillTYpeRateReady = new CustomerTaxDetailsView
{
BillType = (int)BillTypes.BillReady
};
_repository.Stub(x => x.GetCustomerDetailsForTaxes(Arg<int>.Is.Anything)).Return(dict.Dequeue());
//ACT
var result = _concern.PopulateServiceAccountWithTaxDetails(Arg<int>.Is.Anything);
[Test, Order(4)]
public void Should_Create_ServiceAccountTaxCode_If_BillType_Is_RateReady()
{
//ARRANGE
const int serviceAccountId = 1;
var customerDetailsView = new CustomerTaxDetailsView
{
BillType = (int)BillTypes.RateReady,
ServiceTypeId = (int)ServiceTypes.Electric
};
_repository.Stub(x => x.GetCustomerDetailsForTaxes(serviceAccountId))
.Return(customerDetailsView).Repeat.Once();
var result = _concern.PopulateServiceAccountWithTaxDetails(serviceAccountId);
Et je générer la maquette en utilisant la syntaxe suivante dans la
[OneTimeSetUp]
public void Initialize()
{
_repository = MockRepository.GenerateMock<IServiceAccountTaxCodeRepository>();
Le seul problème est que dans le second cas de test aussi mon objet résultat est customerDetailsViewForBillTYpeRateReady à partir du premier cas de test. Pourquoi est-ce arrivé? Et si j'exécute ces tests indépendamment, tout est passé. Toute aide serait appréciée ..
dict.dequeue supprime réellement l'objet customerDetailsViewForBillTYpeRateReady. – user1505521