私は、次の設定を使用して、私のsymfonyのアプリケーションにクエリキャッシュを有効にしている:機能テストでRedisクエリキャッシュに新しいレコードが作成されるのはなぜですか?
Doctineキャッシュの設定
doctrine_cache:
providers:
cache:
namespace: '%cache_namespace%'
chain:
providers:
- array_cache
- redis_cache
- file_cache
redis_cache:
namespace: '%cache_namespace%'
predis:
host: "%redis_host%"
port: "%redis_port%"
password: "%redis_password%"
timeout: "%redis_timeout%"
array_cache:
namespace: '%cache_namespace%'
array: ~
file_cache:
namespace: '%cache_namespace%'
file_system:
directory: "%kernel.cache_dir%/application"
ドクトリンORMの設定私もよ
orm:
auto_generate_proxy_classes: "%kernel.debug%"
entity_managers:
an_entity_manager:
connection: connection
mappings:
AppBundle: ~
naming_strategy: doctrine.orm.naming_strategy.underscore
metadata_cache_driver:
type: service
id: "doctrine_cache.providers.cache"
query_cache_driver:
type: service
id: "doctrine_cache.providers.cache"
result_cache_driver:
type: service
id: "doctrine_cache.providers.cache"
実際のものではなくローカルのsqliteデータベースに移入する機能テストがあります。私が見ているのは以下の通りです:
テストを実行するたびに、同じレコードに対しても新しいキーを作成するRedisキャッシュが表示されます。私は、データベースがすべてのテストが実行される前に再作成され、キャッシングに関する限り新しく作成された行の内容は重要ではないが、私は確信が持てません。
この予期した動作は誰でも知っていますか?
あなたの質問は少し混乱に見えます。実際の単体テストでは、可能な限り小さなテスト可能なユニットをテストしているわけではないので、接続を模擬してしまいます。 –
あなたは正しいです、私は実際に機能テストを意味しました。質問を編集します – Loupax