Представьте два сервера (каждый в собственном процессе JVM), которые обмениваются данными, используя некоторую форму сообщений (например, простой производитель/потребитель)Есть ли многоуровневая модульная система тестирования/junit addon?
я хотел бы писать тесты, которые проверят поведение этих двух серверов ,
Мои вопросы:
Существуют определенные структуры (или их JUnit аддон) для этой проблемы?
Я хотел бы запустить тестовый класс junit (или даже один тест) в другом процессе? Было бы здорово, если бы один модульный тест мог легко получить доступ к переменным другого теста (в другом процессе), используя какую-то межпроцессную связь.
. Я хочу, чтобы проверить, действительно ли производитель произвел вещи, которые я ожидал, а затем, если потребитель их потреблял. (и, возможно, сделать некоторые неудобства, чтобы обнаружить некоторые проблемы, связанные с гоночными условиями)Есть ли какая-то передовая практика для такого рода испытаний?
Если не существует единого подхода к тестированию, как бы вы провели во время непрерывной интеграции?
Примечание:
Я не хочу использовать потоки, так как это может изменить поведение (если вы думаете о вопросах безопасности потоков)