id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	modified_flg
2625	ユニットテストでのデータ整備部分で、テーブル内全削除されたままコミットされてしまう場合がある	habu	somebody	"【追記】下記、Common_TestCase::tearDown内にて、ロールバックされるはずですので、特定の場合のみ発現する症状かもしれません。
tearDownにて、ロールバックされさえすれば、全削除するコードがユニットテスト内にある事は問題ではないですね。

---

現在、ユニットテストを動かすと、既存の顧客データが全て削除され、テスト用の顧客データ２件だけになってしまいます。

この挙動では、ユニットテストを動かし辛いですし、もしも本番環境で実行されてしまう様な事があれば大ごとだと思います。

ユニットテストでのデータ整備部分では、ユニットテスト内で再生成可能なデータのみをdeleteするようにすべきかと思います。

顧客データを全削除しているのは、
SC_Helper_Purchase_TestBase::setUpCustomer() です。
{{{
$this->objQuery->delete('dtb_customer');
}}}

他にも、以下の様に、テーブル内のデータを全削除するコードが見られます。
これらについても、可能な限り、ユニットテスト内で再生成可能なデータのみをdeleteするようにすべきかと思います。
{{{
$this->objQuery->delete('dtb_shipping');
$this->objQuery->delete('dtb_shipment_item');
$this->objQuery->delete('dtb_products_class');
$this->objQuery->delete('dtb_products');
$this->objQuery->delete('dtb_payment_options');
$this->objQuery->delete('dtb_deliv');
$this->objQuery->delete('dtb_delivtime');
$this->objQuery->delete('dtb_payment');
$this->objQuery->delete('dtb_order');
$this->objQuery->delete('dtb_order_temp');
$this->objQuery->delete('dtb_order_detail');
}}}"	改善提案	new	低	EC-CUBE 2.13系 ユニットテストProject	その他	2.13.2				0
