Не удалось вызвать конструктор для CreatePrograms[0] (FitNesse SLiM)

Я следовал указаниям на этом веб-сайте (https://schuchert.wikispaces.com/FitNesse.Tutorials.0.Java) до t, однако я не могу заставить код на FitNesse работать без ошибок.

Я постоянно получаю следующие исключения:

|Create Programs Не удалось вызвать конструктор для CreatePrograms[0]

|House Экземпляр solutionTable_1.setName. не существует

Вот мой код. Я убедился, что мой путь к классам правильный. Спасибо за ваше время и внимание - я очень расстроен и сбит с толку этим.

!contents -R2 -g -p -f -h
!define TEST_SYSTEM {slim}

!path fitnesse-standalone.jar

!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}

!path Users/Julianne/src/fitnesse-tutorials/DVR/bin/
|import|
|com.om.example.dvr.fixtures|


!|Create Programs                                        |
|Name |Channel|DayOfWeek|TimeOfDay|DurationInMinutes|id? |
|House|4      |Monday   |19:00    |60               |$ID=|

person Julie S    schedule 22.10.2014    source источник
comment
Формат моего вики-кода выше (начинающийся с !|Создание программ) верен, просто он был искажен при публикации.   -  person Julie S    schedule 22.10.2014
comment
Также используется Mac OS X 10.9.4 (13E28)   -  person Julie S    schedule 22.10.2014
comment
Кроме того, я добавил класс CreatePrograms.java в Eclipse в пакете com.om.example.dvr.fixtures. Значит, не пропало.   -  person Julie S    schedule 22.10.2014


Ответы (3)


Не удалось вызвать конструктор для CreatePrograms[0]

Эта ошибка сообщает вам, что выполнение теста не может найти код фикстуры в пути к классам (накопленному из операторов !path), который он запускает.

Похоже, вы указываете здесь относительный путь

!path Users/Julianne/src/fitnesse-tutorials/DVR/bin/

Учитывая, что вы работаете в Mac OS, если вы укажете его без предшествующего «/», он станет относительным путем от места, где вы запускаете свой сервер.

Еще одна вещь, которую нужно проверить, это убедиться, что прямо под .../bin у вас есть com/om/example/dvr/fixtures и есть файлы .class.


На заметку: полезный трюк для проверки полученного пути к классам для выполнения теста — добавить следующий блок где-нибудь на тестовой странице (или включенной странице настройки)

|script     |java properties|
|show   |property   |java.class.path|
person Xiawei Zhang    schedule 30.11.2015

попробуйте отредактировать корневую страницу и определить там путь к классам и переменные: например, http://localhost:8090/root

#!***> Classpath

!path ${java.class.path}
!define TEST_SYSTEM {slim}
!define COLLAPSE_SETUP {true}
!define COLLAPSE_TEARDOWN {true}

#*!
person Stasilla    schedule 17.07.2015
comment
неважно, где вы поместите оператор !path. Это повлияет на последовательность в окончательной сгенерированной строке пути к классам, только если !path находится на подстранице (сзади) или на корневой странице (спереди). - person Xiawei Zhang; 30.11.2015

Для меня это сработало, когда я добавил имя пакета класса в content.txt в папке SetUp, поэтому для настройки пути к классам для теста будет несколько похожая структура.

person Rakesh    schedule 28.09.2018