問題タブ [liipfunctionaltestbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
215 参照

java - html5 チェッカーのコンパイル

LiipFunctionalTestBundleSymfony2 プロジェクトでhtml5 バリデーターを使用したいと考えています。そのため、バンドルの github ページの指示に従いましたが、python ビルド中に次のエラーが発生しました。

IOError: [Errno 2] そのようなファイルまたはディレクトリはありません: './syntax/relaxng/datatype/java/dist/html5-datatypes.jar'

確かに、そのパスの下に「dist」フォルダーがありますが、空です (中にファイルはありません)。また、daisy-pipeline からファイルをダウンロードしようとしましたが、再度 python build を実行すると削除されます

Ubuntu x64 で Java 1.7.0_04 を使用しています

0 投票する
3 に答える
8309 参照

php - Symfony を使用したデータベース挿入のテスト

みなさん、良い一日を、

ここ数日、テスト駆動開発についてよく調べていて、それも学ぶ必要があると判断しました。正確な方法はわかりませんが。

私のプロジェクトは Symfony2.1.6 フレームワークと Doctrine に依存しているため、入力が必要なデータベース テーブルがいくつかあります。

本 (1,n) - (0,n) ジャンル

ジャンル レコードを挿入する場合は、最初にテストを記述して、すべてが正しく挿入されていることを確認する必要があります (または間違っていますか?)

現在の問題は、データベースがフレームワークによって管理されているため、データベースにアクセスする方法がわからないことです。

私が見つけた唯一のものは 、テストを実行するたびに一時データベースを作成および復元するLiipFunctionalTestBundle https://github.com/liip/LiipFunctionalTestBundleでした。指示に従ってすべてをセットアップしました。

編集:私の app/config/config_test.yml は次のようになります:

これで、GenreTest クラスができました。Liip に
はドキュメントがないため、このようなアプローチを試してみました。

phpunit -c ウェブ/

PDOException: ドライバーが見つかりませんでした /.../Mangress/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:36 /.../Mangress/vendor/doctrine/dbal/lib/Doctrine/DBAL /Driver/PDOSqlite/Driver.php :60 /.../Mangress/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:350 /.../Mangress/vendor/doctrine/dbal/lib/Doctrine /DBAL/Connection.php:949 /.../Mangress/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:306 /.../Mangress/vendor/doctrine/orm/lib/Doctrine/ORM /EntityManager.php:355 /.../Mangress/app/cache/test/jms_diextra/doctrine/EntityManager_510128d0a5878.ph p:362 /.../Mangress/src/Qkprod/MangressBundle/Tests/Entity/GenreTest.php: 27回失敗!テスト: 3、アサーション: 1、エラー: 1。

私が抱えている大きな質問は..どうやってそのようなものをテストするのですか? それとも、データベース通信をテストしますか? カスタム実装を介してデータベース通信を偽装することは、実稼働環境でも ORM と Doctrine を使用するため、私には良い考えとは思えません。

申し訳ありません..ここで少し斬新であることが判明しました。

0 投票する
2 に答える
483 参照

unit-testing - フィクスチャをロードするとLiipFunctionalTestBundleエラーが発生するSymfony2

LiipFunctionalTestBundle をインストールし、昨日から使用しようとしましたが、エラーが発生し、解決方法がわかりません。

ドキュメント (config_test) で説明されているように、基本構成を使用します。

データベースがロードされているかどうかを確認するためだけに、バンドルに簡単なテスト ファイルを作成します。

$this->loadFixtures(array()); を使用する場合 それは正常に動作するので、空のデータベース (スキーマで初期化) から始めることができますが、それを置き換えてフィクスチャを使用しようとすると、次のようなエラーが発生します:

$this->loadFixtures(array('\Blabla\MyBunble\DataFixtures\ORM\LoadUserData'));

今、私はこのエラーがあります:

私はテストにかなり慣れていません。誰かがこのバンドルをヒントとして使用する場合、私は感謝します:)

ありがとう

0 投票する
1 に答える
61 参照

symfony - コンテンツは存在するが機能テストに失敗する

echo $client->getResponse()->getContent();以下の機能テストでは、include の出力に「Glenshire」というテキストが存在するというアサーションが失敗します。

最初の 2 つの主張は真です。リダイレクトはありません。

テスト

フィクスチャ (LiipFunctionalTestBundle を使用)

0 投票する
2 に答える
1930 参照

symfony - Symfony2 テスト: フィクスチャと外部キーの問題

Symfony と Doctrine を使用してプロジェクトを開発していますが、テストに問題があります。私は Fixtures を使用してテスト用のデータをロードしていますが、いくつかのエンティティはそれらの間に関連付けられています。空の DB テーブルで初めてテストを実行すると、テストは問題なく成功します。しかし、もう一度テストを実行すると、エラーが発生しました。

Doctrine\DBAL\DBALException: 'DELETE FROM Ent' の実行中に例外が発生しました:

SQLSTATE[23000]: 整合性制約違反: 1451 親行を削除または更新できません: 外部キー制約が失敗しました ( my_db. Ent, CONSTRAINT FK_FE5D1D1E727ACA70FOREIGN KEY ( parent_id) REFERENCES Ent( id))

エラーの理由は明らかです。別の行が外部キーを介して参照している場合、その行を削除できません。

最初に外部キー制約を無効にしてテーブルを手動で切り捨て、空のテーブルでテストを再度実行すると、テストは再び成功します。しかし、テストを実行するたびにこれを繰り返さなければなりません。

問題は、Symfony または PHPUnit にこれを自動的に処理させる方法はあるのでしょうか?

ありがとう!

編集: Liip\FunctionalTestBundle\Test\WebTestCase クラスを使用していることを忘れていました。

0 投票する
1 に答える
1142 参照

symfony - LiipFunctionalTestBundle とフィクスチャによる独立した機能テスト?

Symfony2 プロジェクトにテストを追加しています。以前は環境に同じデータベースを使用しdevtestいましたが、本番サーバーと同じデータが既に入力されている MySQL データベースを使用していました。

一部のテストは以前のテストに依存していたため、テストは依存して機能していました。たとえば、ショップのウェブサイトを持っていた場合、カートに商品を追加してからカートから商品を削除しました。そのため、データを削除する前に、フォームを使用してデータを挿入する必要がありました。

今、私は独立した機能テストを行いたいと思っています。それが(Symfony2 の開発者の一人によって) 推奨されている方法だからです。

環境で SQLite データベースを使用するようにLiipFunctionalTestBundleを正しく構成し、 DoctrineFixturesBundletestでフィクスチャを追加し始めました。

しかし、機能テストごとにどれだけのデータをロードする必要があるかわかりません。テストの開始時にどのフィクスチャをロードする必要がありますか? テーブル間の関係のためにエンティティが他のエンティティに依存している場合、CRUD 操作を処理する方法は?

私がショップを開発しているとしましょう。いくつかのテストが必要です。

  1. ユーザーがカートにいくつかの製品を追加します
  2. ユーザーがカートから商品を 1 つ削除する
  3. ユーザーが残りの商品を注文する

ステップごとに異なるフィクスチャを作成する必要がありますか? これは、備品がさまざまな状態で存在する必要があることを意味します: 空のカート、1 つの商品が注文されたカートなど。

0 投票する
6 に答える
1917 参照

symfony - コマンド テスト中に送信された電子メールの内容を取得する

テスト中に、メールを送信するいくつかのコマンドを呼び出します。次のコマンドを使用して、送信された電子メールの数を表示できます。

Symfony2 のドキュメントには、Web テスト中にプロファイラーを使用してメール コンテンツを取得する方法が説明されています(こちらのスタック オーバーフローでも説明されています) が、Web 要求がない場合に同じことを行う方法がわかりません。

これらのリンクで提供されているコードを使用しました。

次のエラーが返されます。

Symfony\Component\HttpKernel\Profiler\Profiler::loadProfileFromResponse() に渡される引数 1 は、Symfony\Component\HttpFoundation\Response のインスタンスでなければなりません。null を指定すると、.../vendor/symfony/symfony/src/Symfony/ で呼び出されます。 72 行目の Bundle/FrameworkBundle/Client.php および定義済み .../vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php:81 .../vendor/symfony/symfony/src/Symfony /Bundle/FrameworkBundle/Client.php:72 .../src/ACME/MyBundle/Tests/Command/EmailTest.php:94

エラーは次の行から発生します。

リクエストがないのでレスポンスがないのは当然のようです。

Symfony 2.8.7 を使用しています。


での私の Swiftmailer 設定は次のapp/config_test.ymlとおりです。

0 投票する
1 に答える
159 参照

symfony - Symfony LiipFunctionalTestBundle loadFixtures重複エントリ

Symfony v2.7 の Liip/LiipFunctionalTestBundle で再び苦労しています。このバンドルを介してフィクスチャをロードするだけの 2 つのテストがあります。両方のクラスに同じフィクスチャ クラスをロードすると、2 番目のクラスがフィクスチャを 2 回コミットしようとします。備品が異なっていれば、すべて問題ありません。

誰かがこのバンドルの経験がありますか?

test.log 抽出

0 投票する
2 に答える
1086 参照

php - Symfony2 機能テスト 到達不能フィールド "_token"

Liip Functional Test Bundleを使用して、Symfony で機能テストを作成しています。

現在、フォームの送信に行き詰まっています。
機能テストを使用して新しい「ログ」を追加しようとしています。

UI を使用して新しいログを追加しようとすると、次の要求パラメーターが取得されます。

しかし、テストがフォームを送信すると、トークンなしで同じパラメーターを取得します

「_token」フィールドをフォームリクエストに追加することで問題を解決できると思っていましたが、実行してから再度テストすると、エラーが発生しました。

InvalidArgumentException: 到達不能フィールド "_token"

機能テストのコード:

私の質問:トークンを使用してフォームを送信するにはどうすればよいですか?

0 投票する
0 に答える
409 参照

symfony - 2 つのデータベースを使用した symfony の機能テスト

アプリケーションの機能テストに liip-functional-test バンドルを使用しています。config_test.php ファイルでテスト データベースを構成しました。

テストを実行すると、次のエラーが表示されます: 最後の行で false が true であることをアサートするのに失敗しました

config_test ファイルからテスト データベースの構成をコメントすると、テストは正常に実行されます。私が欲しいのは次のようなものです: テストデータベースにフィクスチャを書き、実際のデータベースでアサートやその他のテストを実行します