Как Вы тестируете свои графический интерфейсы пользователя Какао?

Проблема в <Link to = "/reports/:id">. Этот синтаксис - то, что вы хотите для Route, но для ссылки у вас должен быть фактический идентификатор. Что-то вроде:

const path = "/reports/" + report.id;
return <Link to = {path}>...
9
задан Yang Meyer 13 February 2009 в 13:23
поделиться

4 ответа

It depends on what you mean by "testing Cocoa GUIs."

If you want tools like the old Virtual User tool included with MPW, then those are few & far between; you'll be looking at tools like Squish and Eggplant.

If you want to write unit tests for your application's human interface, I suggest you follow a "trust, but verify" approach where you trust that as long as you're making the right connections (according to your framework) that your user can interact properly with your framework. That means you can do the majority of your testing by verifying your model and controller code are hooked up to your views correctly.

On my weblog, I've written a couple of examples of how to do this specifically with Cocoa, one for testing user interfaces built with target-action, and one for testing user interfaces built with Cocoa bindings. (Remember, of course, that the two technologies aren't exclusive: If you want to do drag & drop in a table view managed via Cocoa bindings, you'd also have a data source and probably a delegate hooked up via target-action.)

The thing I don't write unit tests for — generally — is the positioning or type of controls in their superview. Sometimes that is important to get and keep correct, however; in that case, I can just query the appropriate properties of the controls and verify them using the standard assertions.

What I virtually never do is write code to "simulate events." The closest I've ever come to that is constructing a fake drag info object and passing that to an outline view data source to ensure it will deal with drags correctly.

8
ответ дан 4 December 2019 в 13:50
поделиться

Я предложил бы, чтобы Вы смотрели на Панель инструментов Google для Macintosh. Это имеет, среди некоторых других хороших положительных героев, очень хорошего набора состояния и представляющий тестовые дополнения для NSView и CALayers. В Ваших модульных тестах Вы утверждаете, что представление/состояние слоя или представленное изображение соответствуют сохраненному (по имени) обрабатывают по шаблону. Если шаблон не существует в тестовом пакете или не соответствует сохраненной версии, новому закодированному состоянию или представил TIFF, производится для обзора. GTM обеспечивает категории для NSView и CALayer, чтобы сделать кодирование состояния и рендеринг. Очевидно, можно переопределить эти категории самостоятельно NSView или подклассы CALayer для кодирования соответствующего состояния (использование протокола NSCoder) или рендеринг.

Это также позволяет, Вы к (легко) программно отправляете ключевые события и выполняете цикл выполнения от с модульными тестами, и это поддерживает поблочное тестирование и на OS X и на iPhone.

4
ответ дан 4 December 2019 в 13:50
поделиться

Вы могли бы проверить и рассмотреть Баклажан TestPlant (официально Redstone Software) по http://www.testplant.com/.

Вот статья, которую Apple показала на них в прошлом году.

1
ответ дан 4 December 2019 в 13:50
поделиться

Последний подкаст CocoaCast имеет интервью с Ian Dees автор "Тестирования GUI в виде сценария с Ruby". Можно узнать больше в CocoaCast

0
ответ дан 4 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: