단위 테스트를 사용하는 법을 배우고 있습니다. 프로젝트를 만들고 xunit 참조를 추가합니다. 그리고 다음 코드 : 난 xUnit의 GUI를 도구를 사용하여 테스트를 실행하면xunit가 매개 변수가있는 메소드를 테스트 할 수없는 이유는 무엇입니까?
namespace UnitTestProject
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[Fact]
private void test(int number1, string number2)
{
int result = number1 + Convert.ToInt32(number2);
Assert.IsType(Type.GetType("Int32"), result);
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
, 그것은 말했다 :
UnitTestProject.Form1.test : System.InvalidOperationException : 사실 방법 UnitTestProject.Form1.test 수 없어 於 Xunit.Sdk.FactCommand.Execute (TestClass에 객체)
Xunit.Sdk.FixtureCommand.Execute (객체의 TestClass)
Xunit.Sdk.BeforeAfterCommand.Execute (TestClass에 객체): 매개 변수 스택 추적을 Xunit.Sdk.LifetimeCommand.Execute (객체의 TestClass)
Xunit.Sdk.ExceptionAndOutputCaptureCommand.Execute (객체의 TestClass는) 그래서
, 내가 어떻게 매개 변수를 사용하는 방법/기능을 테스트 할 수 있습니다?
감사하지만 InlineData를 무작위 값으로 설정할 수 있습니까? 아니면 InlineData가 인라인 메서드/변수를 사용할 수 있습니까? – Cheung
이유가 없습니다. 아래의 더러운 예제를보십시오. – Alina
@Shiba 일반적으로 테스트에서 임의 값을 사용하면 안됩니다. 예를 들어, 하나의 난수가 실패하면 문제의 원인이 무엇인지 알 수 없습니다. 테스트를 결정적으로 만들어보고 예상치 못한 예상치 못한 극한의 입력을 제공하십시오. – DaveShaw