私のテストスーツがどのように構成されているかは次のとおりです。 Scalatest内スカートが複数埋め込まれている場合、組込みkafkaは例外をスローします
"test payments" should {
"Add 100 credits" in {
runTeamTest { team =>
withRunningKafka {
val addCreditsRequest = AddCreditsRequest(team.id.stringify, member1Email, 100)
TestCommon.makeRequestAndCheck(
member1Email,
TeamApiGenerated.addCredits().url,
Helpers.POST,
Json.toJson(addCreditsRequest),
OK
)
val foundTeam = TestCommon.waitForFuture(TeamDao.findOneById(team.id))
foundTeam.get.credits mustEqual initialCreditAmount + 100
}
}
}
"deduct 100 credits" in {
runTeamTest { team =>
withRunningKafka {
val deductCreditsRequest = DeductCreditsRequest(team.id.stringify, member1Email, 100)
TestCommon.makeRequestAndCheck(
member1Email,
TeamApiGenerated.deductCredits().url,
Helpers.POST,
Json.toJson(deductCreditsRequest),
OK
)
val foundTeam = TestCommon.waitForFuture(TeamDao.findOneById(team.id))
foundTeam.get.credits mustEqual initialCreditAmount - 100
}
}
}
、包括的なスーツ名は"test payments"
で、最初のものが実行された後、その中に次の試験は、問題を抱えています。 2つのテストを個別に実行すると成功しますが、スーツ全体を実行すると最初のテストが成功し、2番目のテストではorg.apache.kafka.common.errors.UnknownTopicOrPartitionException: This server does not host this topic-partition.
例外が返されます。上記のコードはテスト中のコントローラ内にコードを表示していませんが、コントローラ内では常にポーリングしているkafkaコンシューマがあり、close()
はテスト内で呼び出されません。
停止コマンドを渡されたKafkaクラスタが実際に停止したかどうかを確認する方法はありますか。 @manub –