Tag: unit testing

犀牛嘲弄AssertWasCall(多次)属性获取使用AAA

我有一个模拟对象作为构造函数parameter passing给另一个对象。 我怎样才能testing一个模拟对象的属性被调用? 这是我目前正在使用的代码: INewContactAttributes newContact = MockRepository.GenerateMock<INewContactAttributes>(); newContact.Stub(x => x.Forenames).Return("One Two Three"); someobject.ConsumeContact(newContact); newContact.AssertWasCalled(x => { var dummy = x.Forenames; }); 这个工作除了在“someobject”Forenames属性上的吸气剂多次使用。 那就是当我得到“Rhino.Mocks.Exceptions.ExpectationViolationException:INewContactAttributes.get_Forenames();预期#1,实际#2 ..” 简单使用 newContact.AssertWasCalled(x => { var dummy = x.Forenames; }, options => options.Repeat.Any()); 不起作用,并给出下面的错误: “期待已经从等待的期望列表中删除,你是否调用了Repeat.Any()?这在AssertWasCalled()中不受支持。 那么如何迎合多个电话呢?

谷歌testing中的数组比较?

我期待在googletesting中比较两个数组。 在UnitTest ++中,这是通过CHECK_ARRAY_EQUAL完成的。 你如何在谷歌testing中做到这一点?

假货比Mocks好吗?

我偶然发现了这个开源项目Fake It Easy ,我不得不承认,这看起来非常有趣,但是我怀疑,FIE假货和Moq Mocks之间有什么区别? 有什么更好的特殊用途? 编辑: 这个新的框架是什么使它比Moq更好呢?

如何testing内部类库?

我想写一个类库,为我创build一个复杂的对象,但只应尽可能less的暴露。 我希望它被包含到其他项目中,在那里我只有一个调用这个库,例如返回一个内部创build类的对象。 我不想让别人明确地创build这些对象,但我仍然想为这个类库创build一个testing项目。 例如: var result = Manager.Instance.Create(definition) 这应该是对类库的唯一访问。 根据定义参数,它使用不同的子类来创build请求的实例并相应地设置其属性。 所以我想通过testing来保证整个创build过程正常。 但是因为我也不想公开很less的内部属性的结果对象我不能testing通过只使用这个公共访问方法,因为我没有任何属性来断言。 我知道你不应该testing内部的机制,这通常是不好的devise,我也阅读了这篇文章 ,但没有任何办法可以创build一个库加unit testing项目,也许以后限制访问这个类? 用包装什么的?

如何写unit testing的输出?

任何调用我的unit testingDebug.Write(line)或Console.Write(Line)只是简单地跳过debugging时,输出从不打印。 从我正在使用的类中调用这些函数工作正常。 我明白,unit testing是为了自动化,但我仍然希望能够从unit testing中输出消息。

EasyMock andReturn()vs andStubReturn()

EasyMock的使用和andReturn(T value) andStubReturn(T value)之间有什么区别? 在什么情况下你会使用和andStubReturn() where和andReturn()不能达到相同的结果?

unit testing文件I / O

通过堆栈溢出的现有unit testing相关的线程,我找不到一个关于如何unit testing文件I / O操作的明确答案。 我最近才开始研究unit testing,之前已经意识到了优点,但是很难习惯于先写testing。 我已经build立了我的项目来使用NUnit和Rhino Mocks,虽然我理解了它们背后的概念,但我在理解如何使用模拟对象方面遇到了一些麻烦。 具体来说,我有两个问题,我想回答。 首先,unit testing文件I / O操作的正确方法是什么? 其次,在我学习unit testing的尝试中,我遇到了dependency injection。 得到Ninject的设置和工作后,我想知道是否应该在我的unit testing中使用DI,或直接实例化对象。

嘲笑静态方法

最近,我开始使用Moq进行unit testing。 我使用Moq来嘲笑那些我不需要testing的类。 你通常如何处理静态方法? public void foo(string filePath) { File f = StaticClass.GetFile(filePath); } 这个静态方法, StaticClass.GetFile()被嘲弄? PS我会很感激您在Moq和unit testing中推荐的任何阅读材料。

用EF4“Code First”和Repository进行unit testing

我试图得到一个unit testing一个非常简单的ASP.NET MVCtesting应用程序,我已经在最新的EF4 CTP中使用代码优先的方法build立一个句柄。 我对unit testing/嘲笑等方面并不是很有经验 这是我的存储库类: public class WeightTrackerRepository { public WeightTrackerRepository() { _context = new WeightTrackerContext(); } public WeightTrackerRepository(IWeightTrackerContext context) { _context = context; } IWeightTrackerContext _context; public List<WeightEntry> GetAllWeightEntries() { return _context.WeightEntries.ToList(); } public WeightEntry AddWeightEntry(WeightEntry entry) { _context.WeightEntries.Add(entry); _context.SaveChanges(); return entry; } } 这是IWeightTrackerContext public interface IWeightTrackerContext { DbSet<WeightEntry> WeightEntries { […]

Xcodeunit testing用Cocoapods

在过去的几天里,我一直在用这种方式将我的头撞在墙上,但是尽pipe有多个Google / SO / Githubsearch,我找不到解决我遇到的问题的办法! 我所要做的就是为我的应用程序创build一些使用Firebase窗格的unit testing。 我正在使用Xcode 7.3.1和Cocoapods 1.0.1。 更新:问题仍然与Xcode 8.0 有了这个podfile: platform :ios, '9.0' use_frameworks! inhibit_all_warnings! target 'MyApp' do pod 'Firebase' pod 'Firebase/Auth' pod 'Firebase/Database' pod 'Firebase/Storage' target 'MyAppTests' do inherit! :search_paths end end 在我的XCTest类中, 缺less必需的模块“Firebase” 错误@ @testable import MyApp 或者用这个podfile: platform :ios, '9.0' use_frameworks! inhibit_all_warnings! def common_pods pod 'SwiftyTimer' pod 'Firebase' pod […]