[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Weslley araujo de sousa leite
Criador Weslley araujo de sousa leite 26/04/2022

Professor, ao inves de fazer como o sr fez, eu preferi criar um getQuantity dentro da classe Product e na função getItems de cart  eu troquei o nome para getQuantityItems e dentro dela eu criei uma variável chamada $quantity = 0 e um foreaech que percorre $this->items, dentro desse foreach fiz $quantity+=$item->getQuantity() e no fim retornei esse $quantity.

Na classe de teste em vez de fazer um assertCount eu fiz um assertEquals passando o valor total simulado e a função $cart->getQuantityItens()

Fazendo dessa forma continua sendo um teste unitário ou se torna teste de integração?

Criador Weslley araujo de sousa leite 26/04/2022

E dentro da função total de Cart eu criei uma variável $total = 0 e percorri o array de itens, para cada item eu fiz $total+= $item->getPrice() * $item->getQuantity() e dessa forma ele vai multiplicar a quantidade de cada item pelo seu valor. 

Weslley araujo de sousa leite
Manager Carlos Ferreira 26/04/2022

Olá, Weslley!
Tudo bem?

Se seu teste resumiu a apenas a classe de Cart, é teste unitário ainda, porque você está testando uma única unidade, que no caso é a classe de Cart.

A partir do momento que você usar outra classe, já passa a ser um teste de integração, porque dessa forma o seu teste depende do comportamento de outra unidade (classe ou método).

Pegou a ideia amigo?

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!