Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 告诉mstest忽略基类中的测试方法,但不要忽略子类中的测试方法_Java_C++_.net_Abstract - Fatal编程技术网

Java 告诉mstest忽略基类中的测试方法,但不要忽略子类中的测试方法

Java 告诉mstest忽略基类中的测试方法,但不要忽略子类中的测试方法,java,c++,.net,abstract,Java,C++,.net,Abstract,我有一个基本测试类,它有一个方法(比如说ABC())和一个属性(比如说Prop1),需要由子类实现,如果不是由子类实现,那么它会抛出“未实现”异常——这很好 我已将此ABC()方法标记为[TestMethod] 现在,该方法只能由从该方法派生的子类执行,而不能由基类本身执行。i、 这个方法应该只对子类执行,而不是对基类本身执行 实际问题是什么.. 如何确保此方法不从基类执行 在C++中,你需要使abc*()成为一个纯虚函数: virtual void ABC() = 0; 这听起来像是一个非常

我有一个基本测试类,它有一个方法(比如说ABC())和一个属性(比如说Prop1),需要由子类实现,如果不是由子类实现,那么它会抛出“未实现”异常——这很好

我已将此ABC()方法标记为[TestMethod]

现在,该方法只能由从该方法派生的子类执行,而不能由基类本身执行。i、 这个方法应该只对子类执行,而不是对基类本身执行

实际问题是什么..

如何确保此方法不从基类执行


在C++中,你需要使abc*()成为一个纯虚函数:

virtual void ABC() = 0;

这听起来像是一个非常奇怪的测试设计开始。你能解释一下设计决定吗?可能有一种不同的方法会更好,比如首先将基类抽象化。如果对象是子类的类型,那么如果它们重写父类(当然默认情况下),它将使用子方法和属性。但是,如果父项中充满了
未实现的异常,为什么还要有父项和子项呢。为什么不上一节课呢?此外,您还指定了
java
C++
.net
,因此不同语言之间的代码会有所不同。Nicolas Tyler:这是C#中的代码。NetHi Jon:设计就像-我有一个通用方法,需要为许多类执行。为此,我创建了一个实现了这个通用方法的基类,所有子类都是从这个基类派生的,并创建了它们自己的测试方法。现在,为了确保所有派生自该基类的子类,我在基类中放置了一个必需的属性,该属性需要在子类中实现。Jon:我试图将该基类和公共属性抽象化,但在这种情况下,基类测试方法只能从子类执行,而不能从基类执行,因为它从基类变为“不可执行”。。。希望我们能相互理解。:)