C# 错误CLassInitialize具有错误的签名。该方法必须是静态的、公共的,并且不返回值
各位,我正在为我的Builder类编写一个单元测试,我有以下错误。 TestDB.BuilderTest.CustomerBuilderTest.CLassInitialize方法的签名错误。该方法必须是静态的,public不返回值,并且应采用TestContext类型的单个参数。此外,如果在方法中使用async await,则返回类型必须为Task 这是我的单元测试C# 错误CLassInitialize具有错误的签名。该方法必须是静态的、公共的,并且不返回值,c#,unit-testing,C#,Unit Testing,各位,我正在为我的Builder类编写一个单元测试,我有以下错误。 TestDB.BuilderTest.CustomerBuilderTest.CLassInitialize方法的签名错误。该方法必须是静态的,public不返回值,并且应采用TestContext类型的单个参数。此外,如果在方法中使用async await,则返回类型必须为Task 这是我的单元测试 [TestClass] public class CustomerBuilderTest {
[TestClass]
public class CustomerBuilderTest
{
private static CustomerDeserializer _customerDeserializer;
private static string path;
[ClassInitialize]
public static void CLassInitialize(TestContext context)
{
path = Path.Combine(Environment.CurrentDirectory, @"Folder\", "Customer.json");
}
[TestInitialize]
public static void TestInitialize()
{
_customerDeserializer = new CustomerDeserializer();
}
[TestMethod]
public void CusomerBuilder_MustReturnCustomers()
{
//Arange
//Act
var dtos = CustomerDeserializer.Deserialize(path);
var dto = dtos.FirstOrDefault(e => e.Email == "hi@gmail.com");
var customer = CustomerBuilder.CustomerBuild(dto);
//Asset
Assert.IsNotNull(dto);
Assert.AreEqual(customer.FirstName,"tina");
}
}
}
这是我的建筑课
public class CustomerBuilder
{
public static Customer CustomerBuild(DtoCustomer dto)
{
return new Customer()
{
FirstName = dto.FirstName,
LastName = dto.LastName,
Address = dto.Address,
Email = dto.Email,
Code = int.Parse(dto.Code),
PhoneNumber = dto.Phone
};
}
}
我检查了很多网站,但没有找到任何解决方案。你能帮我吗?需要添加
ClassInitialize
属性,然后尝试使用不同于属性的方法名,因为这可能会混淆编译器。所以,试试看:
[ClassInitialize()]
public void CLassInitialization(TestContext context)
{
path = Path.Combine(Environment.CurrentDirectory, @"Folder\", "Customer.json");
}
您可能还需要对TestInitialize
应用相同的方法:
[TestInitialize]
public void TestInitialization()
{
_customerDeserializer = new CustomerDeserializer();
}
需要添加
ClassInitialize
属性,然后尝试使方法名与属性不同,因为这可能会混淆编译器。所以,试试看:
[ClassInitialize()]
public void CLassInitialization(TestContext context)
{
path = Path.Combine(Environment.CurrentDirectory, @"Folder\", "Customer.json");
}
您可能还需要对TestInitialize
应用相同的方法:
[TestInitialize]
public void TestInitialization()
{
_customerDeserializer = new CustomerDeserializer();
}
您的ClassInitialize方法缺少TestContext类型的单个参数。我也这样做了,但我仍然看到相同的错误您的ClassInitialize方法缺少TestContext类型的单个参数。我也这样做了,但我仍然看到相同的错误将方法签名更改为非静态,将方法签名更改为非静态的字段以及田里也一样