Есть ли какой-либо инструмент или инфраструктура, способная упростить тестирование распределенного программного обеспечения, написанного на Java? Моя тестируемая система представляет собой одноранговое программное обеспечение, и я бы хотел выполнить тестирование с помощью PNUnit, но с Java вместо .Net.
Тестирование системы - это каркас, который я разрабатываю для создания приложений P2P. Он использует JXTA как нижнюю подсистему, пытаясь скрыть некоторые ее сложности. В настоящее время это академический проект, поэтому в настоящий момент я стремлюсь к простоте.
В моем тесте я хочу продемонстрировать, что одноранговый узел (работающий в своем собственном процессе, возможно с несколькими потоками) может обнаружить другой (работает в другом процессе или даже на другой машине) и что они могут обмениваться несколькими сообщениями. Я не использую mocks или stubs, потому что мне нужно видеть, что обе стороны работают одновременно. Я понимаю, что необходим какой-то механизм координации, и PNUnit, похоже, может это сделать.
Я столкнулся с некоторыми инициативами, такими как Pisces, который "направлен на предоставление распределенной тестовой среды, которая расширяет JUnit, предоставляя разработчику /tester позволяет запускать удаленные JUnits и создавать сложные тестовые пакеты, которые состоят из нескольких удаленных JUnit-тестов, работающих параллельно или последовательно", но этот проект и некоторые другие, которые я нашел, кажутся длинными.