Используйте переменную среды для модульного тестирования служб WCF с помощью AspNetDevelopmentServerAttribute

Я пытаюсь запустить AspNetDevelopmentService во время модульных тестов, и я нашел AspNetDevelopmentServerAttribute, который можно использовать таким образом.

Работает просто отлично:

[AspNetDevelopmentServer("http://localhost:49409/", @"C:\Projects\WcfTestPlatform1\Bench.Services")]
public void TestMethod1()
{
    var channel = new ChannelFactory<IMyContract>("*").CreateChannel();
    var result = channel.SayHello("Titi");

    Assert.AreEqual("Hello Titi", result);
}

Как сказал msdn, переменные среды могут использоваться в пути службы. Вот я и попробовал такой путь: [AspNetDevelopmentServer("http://localhost:49409/", @"%SolutionDir%Bench.Services")], но это не сработало...

Есть ли способ достичь того, что я пытаюсь сделать здесь: установить путь обслуживания относительно решения?......

Спасибо!

Изменить 1: я попробовал %PathToWebRoot% переменная: [AspNetDevelopmentServer("http://localhost:49409/", @"%PathToWebRoot%")]: Работает нормально, но не заменяет относительный путь SolutionDir. Так что я буду использовать это сейчас. Пожалуйста, не стесняйтесь, если кто-то знает любой другой способ, который может быть эквивалентен тому, что я ищу.

0 ответов

Другие вопросы по тегам