Ho un particolare metodo chiamato TranslateValues () (Cyclomatic-Complexity of 5) che vorrei testare.
Il test richiede un numero considerevole di oggetti finti che occupano la maggior parte del metodo ; Il metodo testato è abbastanza semplice con questo requisito eccezionale. Sono sospettoso di questo. Per me, potrei fare qualcosa di simile per alleviare il problema:
namespace TestArea
{
[TestClass]
public class PrimaryTests
{
//commonly used classes should go up here
private CoreServiceClient client;
public CoreServiceClient Client
{
get { return client; }
set { client = value; }
}
[TestMethod]
public void TestMethodForXYZ()
{
try
{
//use the Client, do some stuff, and assert
}
catch
{
//catch any problems, report them, and assert.fail
}
}
}
}
Ma questo ti porterà solo a ridurre le dimensioni e il disordine dei metodi di test, e quindi solleva la domanda: I grandi metodi di test sono generalmente indicativi dell'odore del codice? Come valuti quando i tuoi metodi stanno diventando troppo grandi?