C# 如何添加引用以及如何使用单元测试测试它是否是回文
首先,我对Visual Studio有问题,无法添加引用。它说无法添加对项目的引用 我的第二个问题是测试,我不打算测试,所以我可以知道单元测试和xunit测试之间的区别吗,我已经看到xunit是一个NuGet包。我不确定我的测试是否正确,它是否是回文 我试着将我的框架设置为4.0,我已经看过了,所以我可以添加一个引用,但没有成功C# 如何添加引用以及如何使用单元测试测试它是否是回文,c#,wpf,visual-studio,C#,Wpf,Visual Studio,首先,我对Visual Studio有问题,无法添加引用。它说无法添加对项目的引用 我的第二个问题是测试,我不打算测试,所以我可以知道单元测试和xunit测试之间的区别吗,我已经看到xunit是一个NuGet包。我不确定我的测试是否正确,它是否是回文 我试着将我的框架设置为4.0,我已经看过了,所以我可以添加一个引用,但没有成功 namespace PalindromeTest { [TestClass] public class UnitTest1 {
namespace PalindromeTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void IsItPalindrom()
{
string a = "1221";
string b = "1221";
string res = "";
if (a == b)
{
res =a;
bool x = Program.IsItPalindrom(res);
}
Assert.IsTrue(x);
}
}
}
我测试单词是否为回文的方法:
private static bool IsPalindrome(string text)
{
int min = 0;
int max = text.Length - 1;
while (true)
{
if (min > max)
{
return true;
}
char a = text[min];
char b = text[max];
if (char.ToLower(a) != char.ToLower(b))
{
return false;
}
min++;
max--;
}
当我运行测试或所有测试时,我应该在测试资源管理器上看到勾号,但由于我无法添加引用,它表示程序不包含IsItPalindrom的定义。您的项目彼此不兼容。如果主项目的目标是netcoreapp->,那么测试项目应该是netcoreapp 如果主项目的目标是netframework->,那么测试项目也应该是netframework
但是您可以从任何.NET Framework添加对netstandard库的引用Windows通用测试项目不能引用.NET Framework程序集。当您创建测试项目时,您应该选择Visual C#->测试下的
单元测试项目(.NET Framework)
模板,以便WPF应用程序或类库以.NET Framework为目标
xUnit与此无关。当您尝试添加引用时,会收到什么确切的错误消息?是否只是“无法添加对项目的引用”?或者还有更多吗?只是,我使用的是VS 2017,您的测试项目(回文测试)和您的项目在同一个解决方案中吗?编辑:刚刚看到它,您的方法isAlindrom将永远不会在其类之外找到,因为它是私有的。您需要将其公开,以便能够从单元测试调用它。是的,第一个项目称为回文检查器,它是WPF程序,第二个回文检查器我认为不应该。如何从另一个项目测试“私有静态”方法?使调用可用应该是公共的我不明白吗DxUnit与此无关。您似乎正在使用MSTest。你创建了什么样的项目?@JohnDoe:那是
WPF用户控制库
还是你使用的项目模板?您使用了什么模板来创建测试项目?通用Windows测试项目不能引用.NET Framework程序集。虽然xUnit与此无关,但如果John doe想了解不同的单元测试框架,下面是一篇很好的博文,可以让您了解三种最常见的框架: