У нас есть простой веб-сервис для обработки запросов о наших данных.Я хотел бы сделать набор расширений для утверждений / случаев, которые обеспечили бы высокоуровневые методы для тестирования различных аспектов ответа.Например, я мог бы написать assertResultCountMinimum (int).Метод позаботится о построении запроса, его выполнении и распаковке ответа для проверки данных.Я также хотел бы, чтобы
Я хотел убедиться, что у меня в голове есть правильная идея о том, как это сделать.
Сначала создайте собственный класс тестового примера с помощьюправильные методы настройки и демонтажа.Для наших целей MyTestCase.Затем предоставьте ряд классов, расширяющих Assert новыми методами assert.Конечный пользователь этих классов будет расширять MyTestCase и будет использовать созданные мной утверждения.Это шаблон, который я вижу в jWebUnit.
Мне кажется, что я смешиваю и сопоставляю понятия junit 3 и 4.Я хотел бы, чтобы у меня были только 4 концепции.Но я не могу представить, как правильно выстроить это в голове.Кроме того, все методы assert, принадлежащие классу Assert в Junit, являются статическими.Некоторые из моих утверждений потребуют обращения к веб-сервису.Это заставляет меня думать, что я должен просто предоставить утверждения в виде ряда вспомогательных функций внутри MytestCase.Позже он выполняет свою работу, но не чувствует себя хорошо.
Любое понимание, размышления, просьбы о разъяснении, высоко ценится.
Последующее редактирование. Как предлагает Джинн ниже, я создаю суперкласс со всеми моими методами asserts & setup / teardown.На самом деле мои утверждения на самом деле являются вспомогательными функциями, которые обертывают базовые утверждения junit 4, которые я импортирую в свой суперкласс.Любой мой тест просто расширит этот супер класс.Единственное предостережение, которое я рассматриваю, - сделать суперкласс абстрактным, так как не должно быть ни одного экземпляра суперкласса.