J'essaie de tester un fichier (Account.cs) en utilisant testfile (AccountTest.cs). Je cours OSX 10.6 avec Mono Framework (et nunit-console).Couverture de code utilisant des tests mono et nunit
Ci-dessous est Account.cs
namespace bank
{
using System;
public class InsufficientFundsException : ApplicationException
{
}
public class Account
{
private float balance;
public void Deposit(float amount)
{
balance+=amount;
}
public void Withdraw(float amount)
{
balance-=amount;
}
public void TransferFunds(Account destination, float amount)
{
destination.Deposit(amount);
Withdraw(amount);
}
public float Balance
{
get { return balance;}
}
private float minimumBalance = 10.00F;
public float MinimumBalance
{
get{ return minimumBalance;}
}
}
}
Et voici AccountTest.cs:
namespace bank
{
using NUnit.Framework;
[TestFixture]
public class AccountTest
{
[Test]
public void TransferFunds()
{
Account source = new Account();
source.Deposit(200.00F);
Account destination = new Account();
destination.Deposit(150.00F);
source.TransferFunds(destination, 100.00F);
Assert.AreEqual(250.00F, destination.Balance);
Assert.AreEqual(100.00F, source.Balance);
}
[Test]
[ExpectedException(typeof(InsufficientFundsException))]
public void TransferWithInsufficientFunds()
{
Account source = new Account();
source.Deposit(200.00F);
Account destination = new Account();
destination.Deposit(150.00F);
source.TransferFunds(destination, 300.00F);
}
}
}
Je compile ces deux fichiers par:
mcs -t:library Account.cs
mcs -t:library -r:nunit.framework,Account.dll AccountTest.cs
Et obtenir compte .dll et AccountTest.dll respectivement.
Pour exécuter le test que j'utilise:
nunit-console AccountTest.dll
et il fonctionne comme il se doit, me donner les échecs appropriés et passe.
Cependant, maintenant je veux utiliser la capacité de couverture de code mono pour évaluer ces tests. Je lis le tutoriel http://mono-project.com/Code_Coverage pour exécuter les outils de couverture. Et pour l'utiliser, je devrais compiler dans le fichier * .exe plutôt que le fichier * .dll.
Si quelqu'un pouvait m'aider avec la classe principale du fichier AccountTest.cs, je serais capable de le compiler ensuite en exe et d'utiliser l'outil de couverture.
Merci une tonne à l'avance.