因此,我知道在单元测试中我可以模拟上下文管理器open(),即: with open('file_path', 'r') as stats: 被嘲笑为 with mock.patch('builtins.open', mock.mock_open(read_data=mock_json)): 但是有没有办法让我只模拟特定的文件路径呢?或者使用其他方法来确保在单元测试中使用正确的路径调用上下文管理器?
下面我有一个函数,它根据命令行输入返回两个日期。我如何使用模拟来实现它,这样我就可以对else语句执行单元测试了?
# time from of pull
def time_frame():
"""
checks for optional user input for start and end date of data pull
creates start and end date for query
:return: start and end date
"""
# get the dates
我正在使用sqlalchemy查询我的数据库中的一个项目。同时,我是单元测试的新手,我正在尝试学习如何进行单元测试来测试我的数据库。我尝试使用mocking库进行测试,但到目前为止,它似乎非常困难。
所以我写了一段代码来创建一个Session对象。此对象用于连接到数据库。
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.exc import Ope
我正在阅读“.NET的依赖注入”,并跟随书中的一些示例,它将我引向一个关于单元测试的问题。
单元测试如何知道何时执行pass或fail
不知道为什么,但我一直认为您需要断言一些东西,如果断言为true,则单元测试通过,否则测试失败。
然而,情况似乎并非如此。请看下面的示例(使用NUnit和Moq)。
[Test]
public void Test_UserProvidedMessage()
{
Mock<IMessageWriter> m = new Mock<IMessageWriter>();
Salutat
我很难想象这一点。
这是一个场景。
我的单元测试
public void AddStudentTest()
{
StudentService target = new StudentService (new Mock1(),new Mock2(), new Mock3(), new Mock4(), new Mock5());
string name = "Sample Name";
int actual = 0;
string[] userNames = new string[] {"S
我试图用Python进行单元测试。我经常遇到模拟的问题,它应该被移植回Python2.7,但是我无法让它工作。
在代码的顶部有:from mock import MagicMock, call,但是当我运行单元测试时,它会在global name 'mock' is not defined上发出错误。
沮丧的是,我去看看是否真的安装了它(pip安装模拟和pip安装单元测试都已经运行)。
mock.py只存在于/usr/lib/python3.4/unittest/mock.py中,这使我相信只有Debian上的Python3才真正支持模拟对象。
因此,这里有一个问题:如何获得2
我正在使用Moq编写单元测试。我已经创建了一个模拟对象。现在,当我试图模拟它的属性时,我得到了错误“表达式树可能不包含索引属性”
这是我的代码。
public Node GetNode(IMyInterface interface, string itemName)
{
return interface.Items[itemName];
}
以下是单元测试
var expected = new Node();
var itemName = "TestName";
var mock = new Mock<IMyInterface>();
mock.Setup(
我正在项目中进行DAO单元测试,但在使用ObjectSet类时遇到问题。我必须创建一个新的ObjectSet,但为了做到这一点,我不能连接到数据库。所以我不能使用BusinessModelContainer的CreateObjectSet()方法。有没有办法在没有它的情况下创建ObjectSet?
单元测试代码如下:
var mock = new Mock<IBusinessModelContainerWrapper>();
ObjectSet<Student> expectedStudent = ???; // how can I get an instance
我有一个简单的表单来保存,然后使用MailKit提供电子邮件通知,xUnit和Moq用于单元测试。我在设置单元测试和相关服务时遇到了困难。我有一个解决办法(动作方法中的‘if’语句),只测试核心回购保存功能,而不测试电子邮件服务。如果我取出If语句,单元测试将无法访问适当的方法,例如设置web根路径。此错误为空异常。如果我默认此值,还会出现其他错误,例如“没有为DbContext配置数据库提供程序”。
是否有更合适的方法来设置这种类型的单元测试?或者设置一个单元测试来测试Create()和email功能是错误的,因为它违反了单功能单元测试规则?
单元测试:
[Fact]
pu
好的,我正在进行一些单元测试,我的理解是(基于Roy的“单元测试的艺术”),如果您正在访问DB或实际保存一个文件,则是集成测试,而不是单元测试。
有鉴于此,我有以下内容(是的,我知道这违反了SRP,但它说明了我的观点):
public class PrimeChecker : IPrimeChecker
{
public bool IsPrime(int num)
{
if (num < 2)
{
return false;
}
if (num > 2 && n
对于编写单元测试,为什么大多数插件使用WP_UnitTestCase而不是像WP_Mock这样的流行库?
我之所以问这个问题,是因为WP_UnitTestCase似乎不是一个单元测试用例,而是集成测试,因为它需要WordPress-测试环境&对WordPress- test -db进行实际的db调用?当WP_Mock模拟所有WP函数时,您可以单独测试类(这也是单元测试的定义)。这里有我遗漏的东西吗?
给定以下代码
public class Entity
{
public string Name { get; set; }
public string Status { get; set; }
}
public interface IRepository
{
void InsertEntity(Entity entity);
void UpdateEntity(Entity entity);
}
public class Processor
{
private IRepository _repository;
public Processo