バージョン選択

フォーラム

メニュー

オンライン状況

20 人のユーザが現在オンラインです。 (10 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 20
もっと...

サイト内検索

その他 > その他 > phpunit 部分実行は OK なのに、全体実行で一部が FAILURES

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
seasoft
投稿日時: 2023/12/27 18:11
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
phpunit 部分実行は OK なのに、全体実行で一部が FAILURES
[EC-CUBE] eccube2-weekly-20231219
[OS] Ubuntu 22.04.3 LTS on WSL
[PHP] PHP 8.1.2-1ubuntu2.14
[データベース] 14.10

題名の通りですが、実行結果を見ていただいた方が早いと思いますので、下に貼らせていただきます。

全体を繰り返し実行しても、落ちるテストは同じようです。

DB接続がロストしたと推測しましたが、原因の当たりがつきません。

テストの組み合わせを色々と試せば何か分かりそうですが、以下の情報で分かる方がいらっしゃいましたら、助けていただけますと幸いです。

全体を実行:
$ data/vendor/bin/phpunit
(...snip...)
Time: 21.49 seconds, Memory: 42.00MB

There were 7 failures:

1) SC_Utils_sfGetAddressTest::test_住所が一件だけヒットする場合_住所データが取得できる
郵便番号検索結果
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => Array (...)
 )

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetAddressTest.php:69
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

2) SC_Utils_sfGetAddressTest::test_住所に但し書きが含まれる場合_但し書きが消去される
郵便番号検索結果
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => Array (...)
 )

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetAddressTest.php:107
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

3) SC_Utils_sfGetAddressTest::test_住所に注意文言がある場合_町名が消去される
郵便番号検索結果
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => Array (...)
 )

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetAddressTest.php:121
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

4) SC_Utils_sfGetAddressTest::test_住所に番地の説明が含まれる場合_町名が消去される
郵便番号検索結果
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => Array (...)
 )

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetAddressTest.php:135
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

5) SC_Utils_sfGetClassCatCountTest::testSfGetClassCatCount__規格分類の件数がIDごとに取得できる
規格分類の件数
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    1001 => '2'
-    1002 => '1'
 )

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetClassCatCountTest.php:60
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

6) SC_Utils_sfGetProductClassIdTest::testSfGetProductClassId_存在する製品IDのみを指定した場合_カテゴリ0の対応する製品ク ラスが取得できる
取得した製品クラス
Failed asserting that null matches expected '2001'.

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetProductClassIdTest.php:57
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

7) SC_Utils_sfGetProductClassIdTest::testSfGetProductClassId_存在する製品IDとカテゴリIDを指定した場合_対応する製品クラスが取得できる
取得した製品クラス
Failed asserting that null matches expected '1002'.

/home/nob/htdocs/ec217/tests/class/Common_TestCase.php:66
/home/nob/htdocs/ec217/tests/class/util/SC_Utils/SC_Utils_sfGetProductClassIdTest.php:75
/home/nob/htdocs/ec217/data/vendor/php5friends/phpunit48/phpunit:52

FAILURES!
Tests: 1201, Assertions: 1429, Failures: 7, Skipped: 13, Incomplete: 5.

Generating code coverage report in Clover XML format ... done

Generating code coverage report in HTML format ... done


上でエラーとなった部分を中心に実行:
$ data/vendor/bin/phpunit --filter 'SC_Utils*'

PHPUnit48 4.8.42 by Sebastian Bergmann and contributors.  (modified by php5friends)

...............................................................  63 / 174 ( 36%)
...................Hello, World!!


.Hello, World!!Hello........................................... 126 / 174 ( 72%)
................................................

Time: 868 ms, Memory: 22.00MB

OK (174 tests, 181 assertions)

Generating code coverage report in Clover XML format ... done

Generating code coverage report in HTML format ... done


data/logs/error.log 抜粋:
[data/vendor/bin/phpunit] DB処理でエラーが発生しました。
SQL: [INSERT INTO mtb_zip(zip_id,zipcode,state,city,town) SELECT $1,$2,$3,$4,$5]
PlaceHolder: [array (
  0 => '2',
  1 => '0600041',
  2 => '北海道',
  3 => '札幌市中央区',
  4 => '大通東',
)]
MDB2 Error: not found
could not find MDB2 instance


/var/log/postgresql/postgresql-14-main.log に記録はありませんでした。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

nanasess
投稿日時: 2023/12/27 23:01
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2311
Re: phpunit 部分実行は OK なのに、全体実行で一部が FAILURES
こちらと同じ事象ですかね。
原因不明だったので、GitHub Actions では失敗するテストのみ個別に実行するよう変更しました
https://github.com/EC-CUBE/ec-cube2/commit/3eefb25e9e1d7d7ecf8229563d37e27a1261ac05
seasoft
投稿日時: 2023/12/29 12:22
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: phpunit 部分実行は OK なのに、全体実行で一部が FAILURES
情報ありがとうございます。

原因はともかく事象は似ていますね。私も分割して実行することでパスできていますので、一旦スルーしようと思います。

また何か分かりましたら、教えてください。

ちなみに先日、Xdebug で簡単に分析しましたが、MDB2 内の PostgreSQL 用の処理内の execute() で PEAR エラーが返っている様子でした。ただ、getAll() はエラーでも、delete() は通るなど、よく分からない状況でした。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

seasoft
投稿日時: 2024/3/2 23:52
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: phpunit 部分実行は OK なのに、全体実行で一部が FAILURES
それと思われる原因を見つけました。
https://github.com/EC-CUBE/ec-cube2/pull/853


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,597名です
総投稿数は109,845件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2311
5
umebius
2085
6
yuh
1819
7
h_tanaka
1622
8
red
1569
9
mcontact
1257
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.