VS中是否能对抽象类中的方法进行单元测试?

问题描述

我搜了一下,多数人说VS没有提供这个功能。但有个人写的博客说可以(http://blog.csdn.net/luqizheng/article/details/2959768),但我按照他的试了下,根本不行,报错:TheTestMethodAttributecanbedefinedonlyinsideaclassmarkedwiththeTestClassattribute.另外,问一下我目前在2010版本下,用VS自带的单元测试框架进行,但是在2013中,即便安装了官方的UnitTestGenerator插件,我不管对什么函数选择生成单元测试,都提示类中没有任何public方法,但实际类中几乎全是public。在2010版本中就不会这样。。这是版本越高,功能越垃圾的节奏?

解决方案

解决方案二:
继续求助。。。。。。。。。。
解决方案三:
有很多第三方Mock框架支持动态为abstruct类创建一个dummyclass。当然你也可以手工这么做,有时候必须这么做,比如当你定义一个abstructclassSharp{abstructprotecteddoubleonArea();publicdoubleArea(){returnonArea();}//求面积}我想机器不能代替你产生一个onArea的正确的实现。

时间: 2024-09-19 09:06:57

VS中是否能对抽象类中的方法进行单元测试?的相关文章

C#中的接口和抽象类

能看懂代码,但不理解具体用途..... 其间异同如下: 它们的派生类只能继承一个基类,即只能直接继承一个抽象类,但可以继承多个接口. 抽象类中可以定义成员的实现,但接口中不可以. 抽象类中可以包含字段,构造函数,析构函数,静态成员或常量等,接口中不可以. 抽象类中的成员可以是私有的(只要它们不是抽象的),受保护的,内部的或受保护的内部成员,但接口中的成员必须是公共的. ~~~~~~~~~~~~~~~~~~~ 抽象类和接口这两种类型用于完全不同的目的.抽象类主要用作对象系列的基类,共享某些主要特性

java-Java抽象类中的非抽象方法的方法体为空,子类也没有头给予实现,但却被调用了是什么意思

问题描述 Java抽象类中的非抽象方法的方法体为空,子类也没有头给予实现,但却被调用了是什么意思 读源码的时候关键地方卡住了,在一个方法的结尾把数据作为参数调用了一个抽象类的方法,这个方法不是抽象方法,方法体也是空的,这个抽象类的子类只有一个,而且也没有实现这个方法,那这些数据到底了什么地方呢? 解决方案 实现方法在子类中,多态的概念,父类有这个方法(不是abstract的),所以要写一个空方法,具体实现由子类处理 解决方案二: 子类继承了父类, 不管是否重写父类的方法,都可以调用父类的方法吧

java-抽象类 子类实现相同方法 想想去执行抽象类中的方法,在从抽象类中调用子类具体方法

问题描述 java-抽象类 子类实现相同方法 想想去执行抽象类中的方法,在从抽象类中调用子类具体方法 如下代码,想得到这样结果execute AA before execute..C execute AA after 应该怎么处理 public class Test { public static void main(String[] args) { C c = new C(); c.A(); } } interface YY { public void A(); } abstract clas

Anroid 求解答代码中如何获取到抽象类的对象,从而调用抽象类中的方法。(急)

问题描述 Anroid 求解答代码中如何获取到抽象类的对象,从而调用抽象类中的方法.(急) public abstract class DataSource { protected static DataSource me; public static DataSource getInstance() { if (me == null) {} try { if (me == null) { //下面这一行代码在Application中是空实现 MyApplication.getInstance(

java抽象类中私有属性初始化之后与预期结果不一致

问题描述 java抽象类中私有属性初始化之后与预期结果不一致 背景是这样的,项目使用的是Spring MVC类与类之间是通过@Autowired注解进行 注入的,我有一个Email的抽象类 public abstract class Mail { protected boolean isEmailContentValid = true; } 然后有多个子类机型了这个Email抽象类,比如AEmail extends Mail public class MailFactory { @Autowir

php中通过DirectoryIterator删除整个目录的方法

这篇文章主要介绍了php中通过DirectoryIterator删除整个目录的方法,实例分析了php通过DirectoryIterator类操作目录的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php中通过DirectoryIterator删除整个目录的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function cleanup_directory($dir) { foreach (

python使用正则表达式分析网页中的图片并进行替换的方法

 这篇文章主要介绍了python使用正则表达式分析网页中的图片并进行替换的方法,涉及Python使用正则表达式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了python使用正则表达式分析网页中的图片并进行替换的方法.分享给大家供大家参考.具体分析如下: 这段代码分析网页中的所有图片表单<img>,分析后为其前后添加相应的修饰标签,并添加到图片的超级链接. 代码如下: result = value.replace("[ page ]","

电脑中怎么将360浏览器中收藏的网页导入到Edge浏览器中

  电脑中怎么将360浏览器中收藏的网页导入到Edge浏览器中          1.打开360浏览器,点击左上角的"收藏"; 2.打开下拉菜单后点击"导入/导出"; 3.在"导出收藏夹"中点击"导出到IE浏览器"; 4.稍等片刻后会提示导出成功,点击确定,这样,360浏览器中收藏的网页就导入到IE浏览器中了; 5.打开Edge浏览器,点击打开右上角的菜单; 6.点击"导入收藏夹"按钮; 7.勾选"

Word中输入立方米符号的三种方法

  Word中输入立方米符号的三种方法         Word中输入立方米符号方法一:输入法输入 其实现在有些输入法中集成了很多特殊符号,例如搜狗拼音中就有立方米符号,我们只需要打出立方米的拼音,就会出现一个立方米符号的选项. Word中输入立方米符号方法二:利用制作上标的方法 用制作上标的方法可以做出立方米符号的效果,但这种方法其实还可以细分为几种不同的操作,下面一一进行介绍. 一.在Word文档中输入3,然后将其选中,切换到"开始"选项卡,单击"上标"按钮即可