Использование MbUnit с Delphi Prism - PullRequest
3 голосов
/ 01 июля 2010

Я создал простой тестовый пример в Delphi Prism .Когда я запускаю тестовый набор, используя Gallio Icarus , он возвращает Этот тест не поддерживается ни одной доступной тестовой средой .

Я могу думать только о двух причинах, почемуможет происходить

  • Я упускаю что-то (действительно) очевидное.Параметр, где-то отсутствует инициализация, ...
  • Невозможно использовать комбинацию MbUnit - Gallio с Delphi Prism .

Я надеюсь, что это потому, что мне не хватает чего-то очевидного.Если это не так, что другие люди используют в качестве тестовой рамки, используя Delphi Prism ?

namespace MailExtensionTests;

interface

uses
  MbUnit.Framework;

type
  Class1 = public class
  public
    [Test]
    procedure TestSomething;
  end;

implementation

procedure Class1.TestSomething;
begin
  Assert.IsTrue(True);
end;

end.

1 Ответ

2 голосов
/ 02 июля 2010

Я не очень разбираюсь в .Net ландшафте вещей, по крайней мере, я многому научился.

Теперь я знаю, что уступил мало информации о том, какие версии я мог ответить на вопрос.

 - Windows XP 5.1.2600.
 - VMWware 6.5.4 with 2Gb of memory.
 - Delphi Prism running in Visual studio 2010.
 - .Net Framework 4
 - Gallio 3.1
 - MbUnit 3.1

Теперь, когда мне удалось действительно решить созданную вами проблему, вот два решения, которые сработали для меня.

Первое решение

Одна вещь, которую я не упомянул, - это среда .Net, с которой я компилировал.

Нашей целью всегда должно быть стремление к самому высокому, самому быстрому, первоклассному виду, верно? Таким образом, мне было легко выбрать .Net Framework 4 в качестве моего Целевые рамки для компиляции. Я имею в виду, самое высокое, лучшее, самое подлое ... Что может быть не так с этим.

Для начала Gallio версии 3.1 не поддерживает .Net Framework 4 . Мне понадобилось бы просто взглянуть на домашнюю страницу MbUnit , чтобы понять это. Но кто все равно это читает, верно? Конечно, не такие хардкорные разработчики, как я. Вы никогда не знаете, кто может заглядывать вам через плечо, ловит вас на чтении документации, и ваша репутация падает на ветер.

После того, как я наконец-то заключил мир с самим собой, у меня не было другого выхода, кроме как попытаться прочитать какую-то документацию, и я смог собрать версию, которая работала в Gallio 3.1. Ура, миссия выполнена ... или я так думал.

Выполнение этого, действительно простого тестового примера занимало около получаса, каждый раз, все время. Это точно не может быть правдой ?! К счастью, эта проблема уже упоминалась здесь и здесь , что приводит нас к

Окончательное решение

Как упоминалось в медленных сообщениях Gallio , одним из способов их решения была установка последней, неофициальной версии Gallio. Разговор о кровоточащем крае, это оно . Я почувствовал, как мое сердце колотится в груди, накачивается адреналин, и мне потребовалось какое-то серьезное ограничение, чтобы не кричать об этом.

A ссылка на все последние версии Gallio, одна загрузка, одна установка и повторное подключение ссылок - все, что нужно. Наконец-то я смог запустить свой тестовый сценарий не только в .Net Framework 3.5, но и в .Net Framework 4.0.

О да, съешь этого ребенка. Кто сейчас мужчина ... Кто этот мужчина (расслабься, Ливен, дыши ... дыши ...)

Заключительные мысли

Это было интересное путешествие для меня, если не сказать больше. Я восстановил немного моего потерянного смирения.
Те из вас, кто еще не задремал, заслуживают моего уважения.

...