私はハイブリッド環境で作業しています。一部のセクションは手続き型で書かれており、一部はオブジェクト指向で、一部は関数パラダイムに従っています。
コードをリファクタリングする際、すべてのコードに単体テストを実装しています。現在、コードの機能領域にいます。ただし、私がこれまで見た phpunit に関する説明はすべて、オブジェクトとクラス内のメソッドのテストに関するものでした。
関数コードで単体テストを行う方が簡単だと聞いたことがありますが、その例は見たことがありません。 phpunit を使用して関数コードをテストするにはどうすればよいですか?
たとえば、関数があるとします。
function foo($bar, $baz){
if (!isset($bar["foo"]){
return false;
}
return foobar($bar["foo"], $baz);
}
現在、次のような test.php があります。
<?php
declare(strict_types=1);
require("../backend/foo.php");
use PHPUnit\Framework\Testcase;
final class functionTest extends TestCase{
public function testTheFooFunction(): void{
// ????
}
}
phpunit を使用したこの関数の単体テストはどのようなものになりますか?私は test.p で正しい軌道に乗っているでしょうか?hp?
------------------------
他のユニットと同じ方法でテストしてください。ここには特別なことは何もありません
function foobar($foo, $baz) {
return $foo + $baz;
}
function foo($bar, $baz){
if (!isset($bar["foo"]) {
return false;
}
return foobar($bar["foo"], $baz);
}
public function testTheFooFunction(): void{
$bar = ['foo' => 1];
$baz = 2;
$result = foo($bar, $baz);
self::assertEquals(3, $result);
}