我有一个我正在测试的方法.给定某些输入,它应该向记录器(ILogger)写入失败方法.该接口有几个Log()重载,以及一些属性(例如日志记录级别).我正在使用FakeItEasy嘲笑记录器.
我想断言的是发生了对Log()的调用.但是,我不关心使用了哪个特定的重载.我怎样才能做到这一点?
我的想法:
// Doesn't work, since a different overload (with more parameters) is used.
A.CallTo(() => mockLogger.Log(null)).WithAnyArguments().MustHaveHappened();
// "Works", but if the code were to call something else on the logger
// (ex. change the logging level), this would also pass!
Any.CallTo(mockLogger).MustHaveHappened();
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我使用自定义UIElement,它处理自己的布局和渲染.虽然我可以对其中的大部分进行单元测试,但我无法正确地对渲染进行单元测试.原因是渲染是通过OnRender方法完成的,但是我无法测试实际渲染的内容,因为DrawingContext是一个带有内部构造函数的抽象类,所以我无法从中导出它以进行测试.
我知道如何做的唯一测试是尝试不同的场景(基于实现的代码)并检查没有抛出异常.有没有办法测试更多(除了使用TypeMock Isolator或JustMock)?
我有一个C++函数导出为api像这样:
#define WIN322_API __declspec(dllexport)
WIN322_API char* Test(LPSTR str);
WIN322_API char* Test(LPSTR str)
{
return "hello";
}
Run Code Online (Sandbox Code Playgroud)
该函数由.DEF文件正确导出为API,因为我可以在Dependency Walker工具中看到它.现在我有一个C#测试程序:
[DllImport("c:\\win322.dll")]
public static extern string Test([MarshalAs(UnmanagedType.LPStr)] String str);
private void Form1_Load(object sender, EventArgs e)
{
string _str = "0221";
Test(_str); // runtime error here!
}
Run Code Online (Sandbox Code Playgroud)
在调用Test()方法时我得到错误:
"调用PInvoke函数'MyClient!MyClient.Form1 :: Test'使堆栈失衡.这很可能是因为托管PInvoke签名与非托管目标签名不匹配.请检查PInvoke签名的调用约定和参数是否与目标非托管签名."
我尝试了很多其他数据类型和编组,但什么也没得到!请帮助我!
在Java中,我们有一些修饰符:protected,public,private.在UML中,它们是#,+,-,分别.
我的问题是,~符号在UML中意味着什么?它在Java,C++中有什么意义吗?
var query = from emp in dbEmp.Employees
join dept in dbEmp.Departments on emp.DeptID equals dept.DeptID
where dept.DepartmentName.Contains(this.TextBox1.Text)
select new
{
EmpID = emp.EmpID,
EmpName = emp.EmpName,
Age = emp.Age,
Address = emp.Address,
DeptName = dept.DepartmentName
};
if (query == null)
Label1.Text = "no results match your search";
GridView1.DataSource = query;
GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)
一切都以正确的方式工作,但标签在查询结果返回null时不显示消息.标签可以无条件显示(query == null).那么如何测试var查询结果是否返回任何内容?谢谢
可以使用Eclipse制作Apple应用吗?
如果没有,我如何为App-Store制作iOS应用程序?