Используйте переменную среды для модульного тестирования служб 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. Так что я буду использовать это сейчас. Пожалуйста, не стесняйтесь, если кто-то знает любой другой способ, который может быть эквивалентен тому, что я ищу.