Где находится MUnit в Wolfram Workbench 2.0 для Mac? - PullRequest
8 голосов
/ 31 декабря 2011

У меня есть Mathematica 8.0 и Wolfram Workbench 2.0 для Mac.Я хочу использовать MUnit для модульного тестирования создаваемого мной пакета, но мне не хватает документации по MUnit.

Лучшим ресурсом для этого была Математическая поваренная книга Сала Мангано .В разделе 19.11 рассматривается «Интеграция пакета Wolfram Workbench MUnit с внешним интерфейсом».

Я полагаю, что после того, как я предоставлю MUnit внешнему интерфейсу, я смогу запросить API MUnit с помощью?,Только одна проблема, я не могу найти пакет MUnit.Я попытался найти каталог MUnit, как предложено в книге, с помощью:

find / -name MUnit -print 2> /dev/null

, но безуспешно.

Ответы [ 3 ]

7 голосов
/ 01 января 2012

Если вы проголосуете за этот ответ, пожалуйста, покажите Сабольчу немного любви, проголосовав за его ответ. Он оказал огромную помощь в этом.

Местоположение MUnit зависит от порядка, в котором впервые использовались функции Wolfram Workbench. Это просто теория, однако она объясняет, почему find изначально не смог найти MUnit, но находит его сейчас. В моей системе MUnit находится по адресу:

/Applications/Wolfram\ Workbench.app/configuration/org.eclipse.osgi/bundles/214/1/.cp/MathematicaSourceVersioned/Head/MUnit

Чтобы найти MUnit в вашей системе с помощью Wolfram Workbench:

  1. Создайте тестовый набор, который вызывает ваш код.
  2. Поместите точку останова в ваш код, который проверяется тестовым набором.
  3. Отладка контрольного примера.
  4. Как только вы остановитесь на точке останова, продолжайте входить в код, и в конечном итоге вы войдете в Test.m, когда войдете в TestID->"MyTest-20111230-L0X3S3".
  5. Наведите указатель мыши на вкладку Test.m, и вы увидите местоположение Test.m.

location to Test.m in Mac version

Чтобы найти MUnit в вашей системе, используйте find:

  1. Создание тестового примера в Wolfram Workbench.
  2. Откройте терминал и наберите: find / -name MUnit -print 2> /dev/null

find Результаты:

/Applications/Wolfram Workbench.app/configuration/org.eclipse.osgi/bundles/214/1/.cp/MathematicaSourceVersioned/Head/MUnit
/Applications/Wolfram Workbench.app/configuration/org.eclipse.osgi/bundles/214/1/.cp/MathematicaSourceVersioned/Version5.2/MUnit
/Applications/Wolfram Workbench.app/configuration/org.eclipse.osgi/bundles/214/1/.cp/MathematicaSourceVersioned/Version6/MUnit

Как только вы найдете местоположение, вы можете запросить пакет MUnit с помощью: (примечание: путь, скорее всего, будет немного другим)

AppendTo[$Path, 
  FileNameJoin[{"/", "Applications", "Wolfram Workbench.app", 
    "configuration", "org.eclipse.osgi", "bundles", "214", "1", ".cp",
     "MathematicaSourceVersioned", "Head", "MUnit"}]];
Needs["MUnit`"];
?MUnit`*
(* Need a blank line after ?MUnit`* otherwise a nasty message is generated. *)
5 голосов
/ 31 декабря 2011

Я нашел MUnit.m в

...\configuration\org.eclipse.osgi\bundles\347\1\.cp\MathematicaSourceVersioned\Head\MUnit

в каталоге установки Eclipse (или Workbench).У меня нет Mac, но он должен быть в одном и том же месте независимо от платформы.

Есть также две другие версии для Mathematica 6 и 5.2 (замените Head в пути на Version5.2 илиVersion6).

0 голосов
/ 04 января 2014

В качестве дополнения к решениям, представленным @Szabolcs и @mmorris, здесь представлен еще один способ определения местоположения MUnit.m.

В Wolfram Workbench создайте тест MUnit, который выглядит следующим образом:

Test[
  FindFile @ FileNameJoin @ {"MUnit", "MUnit.m"}
, ""
, TestID -> "FindMUnit-20120103-W7S3Q4"
]

Запустите тест. Это не удастся, но фактическим выводом теста будет желаемое имя пути.

screenshot showing failed unit test with the desired pathname

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...