Как бы я проектировал и организовывал тесты для конкретных методов абстрактного класса? В частности, в .NET.Тестирование абстрактных методов класса класса
ответ
Вы должны создать подкласс, который реализует абстрактные методы (с пустыми методами), но ни один из конкретных. Этот подкласс должен быть только для тестирования (он никогда не должен входить в ваш производственный код). Просто игнорируйте переопределенные абстрактные методы в своих модульных тестах и концентрируйтесь на конкретных методах.
Любые причины не включать это только в тестирование одного из экземпляров?
Если это не сработает, возможно, вы можете создать подкласс только для тестирования без уникальной функциональности.
Одна из причин может заключаться в том, что мы не определяем конкретные классы, а только абстрактные. В качестве альтернативы, приятно знать, когда тест терпит неудачу, что это не из-за одного из абстрактных методов. – 2008-09-19 20:15:32
Первое, что приходит в голову, - проверить эти методы в конкретном дочернем классе.
Я всегда использовать Stub/Mock объект
Вы должны определить и создать конкретный класс тестирования, inhereits от реферата. Как правило, это будет легкая прокладка, которая ничего не делает, кроме как проходить через вызовы.
Использование Rhino Mocks, он может генерировать реализации абстрактного класса во время выполнения, и вы можете вызывать не абстрактные методы.
- 1. Вызов не абстрактных методов из абстрактного класса
- 2. Расширение абстрактного класса - реализация абстрактных методов
- 3. Реализация абстрактных методов класса с подклассами другого базового класса
- 4. Абстрактных базовое определение класса
- 5. Создание методов и тестирование класса в Java
- 6. Единичное тестирование защищенных методов класса в python?
- 7. Определение заводских методов в интерфейсах или абстрактных суперклассах класса продукта
- 8. В чем смысл абстрактного класса без абстрактных методов?
- 9. абстрактных классов реализации ссылочного класса
- 10. Эмуляция абстрактных свойств класса TypeScript
- 11. Тестирование класса
- 12. Тестирование модуля класса флеш-класса
- 13. Аннотация класс без абстрактных методов
- 14. Зависимости методов класса ООП
- 15. Тестирование абстрактных классов в Python
- 16. Почему я могу создать экземпляр класса, полученного из абстрактного класса, без переопределения всех абстрактных методов?
- 17. Джанго: Получить всю реализацию абстрактных базового класса
- 18. реализация абстрактных методов в matlab
- 19. Тестирование абстрактных классов бросков InstantiationException
- 20. Тестирование абстрактных классов в Rspec
- 21. Автоматически генерировать реализации методов базового класса
- 22. Заполнение абстрактных членов класса, выводя из бетона класса
- 23. Тестирование в классе класса python
- 24. Цепочки методов производного класса для методов базового класса
- 25. Переменные класса в области методов экземпляра или методов класса?
- 26. Альтернатива статических абстрактных методов в Java
- 27. Правильно Тестирование простого класса с помощью частных методов
- 28. Определение методов класса внутри активного класса записи
- 29. Создание расширения класса для личных методов класса
- 30. Использование переопределении констант класса методов класса
Кроме того, если у вас много таких (более 2 или 3), вы должны рассмотреть возможность использования насмешливой структуры, такой как Rhino.Mocks или Moq (бесплатно) или TypeMock (коммерческий), и сделать «PartialMock», который автоматизирует этот процесс для вас – chadmyers 2008-09-19 19:54:51