找不到方法的私有访问器

Far*_*nha 7 unit-testing visual-studio-2010

我在使用上下文菜单在Visual Studio 2010下生成新的单元测试时出现此错误(右键单击方法名称 - >"生成单元测试"):

Private Accessor for methodName is not found. Please rebuild the containing project or run the Publicize.exe manually.
Run Code Online (Sandbox Code Playgroud)

该方法是公共的(通过应用过滤器来检查"生成单元测试"对话框中不显示非公共方法.

Visual Studio会自动创建某种.accessor文件.我需要做任何事情吗?

还有什么可能是问题?

编辑(可能相关的更多信息)

  • 我正在尝试测试一个网站项目中的一些类,尽管他们没有做任何网页相关的东西.它们只是普通的旧C#类.
  • 我的所有类名都在单元测试类中作为ClassName_Accessor提供.这导致编译器抱怨方法签名不正确.

rwo*_*ord 5

我用这个解决了我的问题,在与TFS的混淆合并期间我解除了Test Reference文件夹的关联.

测试参考文件夹生活在您的测试项目,将包含源命名空间".accessor"追加到它的名字命名的文件.由于我从我的项目中分离了文件夹,我没有看到文件仍然存在,所以我突出显示了测试项目并按下了解决方案资源管理器中的"显示所有文件"按钮.当我最终找到该文件时,我将其删除并重新生成私有访问者(在您的班级中右键单击并选择"生成私有访问者").

如此底线,如果测试参考存在但与项目取消关联,您将无法重新生成私有访问者,并且Visual Studio不会告诉您存在文件命名/锁定冲突.


Dan*_*don 0

“访问器”是一个类,其工作方式类似于测试中涉及的类之一,但测试方法可以访问其私有和受保护的方法和字段。特别是,访问器类用于测试私有和受保护的方法。

听起来访问器有问题,因此您可能需要尝试删除并重新创建它。重建项目。然后,右键单击您的代码,在“创建单元测试”附近,应该有另一个选项“创建私有访问器”。