#c# #unit-testing #asp.net-core #xunit
Вопрос:
Я хочу написать тест для этого метода :
public static class JobHelper
{
public static object ExtractMetaData(string entity, string message)
{
return new { entity, message };
}
}
И вот мой тест xUnit:
public class JobHelperTest
{
[Theory]
[InlineData("Name","BMW")]
[InlineData("Model","2021")]
[InlineData("Color","Black")]
public void ExtractMetaDataTest(string entity,string message)
{
object expectedValue = new { entity, message };
object result = JobHelper.ExtractMetaData(entity, message);
Assert.Equal(expectedValue,result);
}
}
все выглядит одинаково, но вот сообщение об ошибке повторной проверки:
Комментарии:
1. Находятся
JobHelper
иJobHelperTest
в разных сборках?2. Что вы имеете в виду в разных сборках ?
3. В разных проектах? Связаны с разными .csprojs? Жить в разных библиотеках DLL?
4. JobHelper находится в разделе software.POS.Shared, а JobHelperTest -в разделе software.POS.Shared. Тест, они оба находятся в одном и том же решении.
5. (Причина в том, что при создании нового анонимного объекта компилятор должен сгенерировать тип и внедрить его в ваш проект. В вашем примере этот тип называется
<>f__AnonymousType0
2). However, it has to do this individually for each project, so each project will have its own version of an anonymous type with the string properties
сущностью` иmessage
. Два таких объекта из разных проектов, следовательно, являются разными, несовместимыми объектами, которые просто случайно выглядят похожими)