Hola Comunidad,
Este es el primer post del mes de Agosto 2010 y debo decir “Este año se ha ido volando”, he estado bastante ocupado en la ciudad de Melbourne. Hace unos días atrás mi amigo y colega Simon Waight me envío un correo sobre un marco de trabajo para pruebas unitarias llamado Isolator++ el cual me pareció muy interesante, a continuación un fragmento de código que muestra como usarlo
1: int Product::GetPrice(PricingManager* manager)
2: {
3: if (manager->isOnSale())
4: return 5;
5: else
6: return 10;
7: }
8:
9:
10: bool PricingManager::isOnSale()
11: {
12: return false;
13: }
14:
15:
16: TEST_F(IsolatorTests, GetPrice_OnSaleIsFalse_ExpectHighPrice)
17: {
18: Product product;
19: PricingManager* manager = new PricingManager();
20: ASSERT_EQ(10, product.GetPrice(manager));
21: }
22:
23:
24: TEST_F(IsolatorTests, GetPrice_OnSaleIsTrue_ExpectLowPrice)
25: {
26: Product product;
27: PricingManager* fakeManager = FAKE(PricingManager);
28: WHEN_CALLED(fakeManager->isOnSale()).Return(true);
29: ASSERT_EQ(5, product.GetPrice(fakeManager));
30: }
Al mismo tiempo conseguí esta tabla que contiene información de algunos marcos de trabajo disponibles para pruebas unitarias con C++
Saludos,
Angel