我正在创建一个购物网站,它将使用MVP和asp.net销售计算机部件。我试图在业务层中对一个模型进行单元测试,它将使用实体模型将一些值插入到db中。
public class CategoryModelRepsitory : IModelRepository
{
public void Insert(string catName, long catParent)
{
EntityContext con = new EntityContext();
Category cat = new Category();
cat.Name =
我们正在尝试将单元测试添加到我们的业务层。技术堆栈是asp.net web forms、WCF、ADO.Net调用存储过程)。业务层对数据类调用静态方法,因此很难在不做大量更改的情况下引入DI。
这可能不是一种传统的方法,但我正在考虑将DB保留在单元测试(依赖项)中,但将其用作测试Db……使用现有的冻结数据库或在表中具有模拟数据。我想知道使用像Mock一样使用存储过程的测试数据库的可行性。无需复制整个数据库,只需创建由存储过程命名的表名即可。存储过程将只调用一个表,并返回静态数据...本质上,试图从DB的角度用类似Moq的东西来模拟模拟数据的功能。
有没有人可以推荐一些在测试中包含DB的设计,
是否有我可以在java源代码中插入的单元测试注释或特性标志,以便只在运行单元测试时触发该方法?
例如:
public class A {
@Annotation
public void fooA() { }
public void fooB() { }
}
我的单元测试课:
public class TestA {
...
}
在这个场景中,当我运行我的单元测试类TestA时,我希望执行fooA()和fooB()。
但是,如果我想运行包含classA的prod源代码,那么只执行函数fooB(),而不执行fooA()。
如何为调用同一类的其他方法但不返回值的方法编写单元测试?(假设使用PHPUnit。)
例如,假设我有以下类:
class MyClass {
public function doEverything() {
$this->doA();
$this->doB();
$this->doC();
}
public function doA() {
// do something, return nothing
}
public function doB() {
在使用resharper从visual studio运行单元测试时,我得到了以下错误:
Test-case objects missing for the following elements: ... Rebuild the project and try again
在单元测试方法旁边的工具提示中,它说:Inconclusive: Test not run,我认为它曾经说过Unit test skipped。Resharper显示了一个灰色眼睛图标。
visual的测试资源管理器()也存在一个普遍问题。它不会显示我所有的单元测试。事实上,我的单元测试有200多个缺失了。它们只是没有出现在
我在一个单元测试C#项目文件中有一个标准的MSTest单元测试。该项目运行的是.NET Framework4.7.2,并安装了1.3.2版的MSTest适配器和框架。我正在运行Visual Studio 2017 Enterprise 15.7.6,并且有一个VSTS工作区,其中包含一些随机手动创建的测试用例。
当我在test Explorer中右键单击我的单元测试,并选择"Associate to Test Case“时,我能够输入测试用例ID,添加关联,然后单击"Save”。在保存时,我收到一条错误消息,如下所示。
我尝试使用不同版本的MSTest和项目文件的不同