Tag: unit testing

用于testing的embedded式H2数据库的弹簧configuration

你的Spring集成testingconfiguration看起来像使用embedded式h2数据源和JUnit(可选)? 我第一次尝试SingleConnectionDataSource基本上工作,但在更复杂的testing失败,你需要在同一时间几个连接或暂停交易。 我认为基于TCP的服务器模式下的 h2也可能工作,但这可能不是用于内存中临时embedded式数据库的最快通信模式。 有什么可能性和它们的优点/缺点? 另外,你如何创build表/填充数据库? 更新:让我们指定一些对这些testing非常重要的具体要求。 数据库应该是临时的,并在内存中 对于速度要求,连接可能不应该使用tcp 如果我可以使用数据库工具在debugging过程中检查数据库的内容,那将会很好 我们必须定义一个数据源,因为我们不能在unit testing中使用应用程序服务器数据源

JUnittesting私有variables?

我已经被分配了unit testing任务,我从来没有直接与JUnit一起工作,严格禁止更改包中的代码。 这通常是没有问题的,因为我们大多数的unit testing只是为了function和input/输出的一致性,可以通过运行例程和检查它们的返回值来完成。 但是,偶尔需要检查类中的私有variables,或者直接编辑一个私有variables来检查一些内部行为。 有没有一种方法可以通过JUnit或其他任何方式访问这些文件,以便进行unit testing,而无需实际更改原始源代码包中的任何代码? 如果不是,程序员在现实世界中如何处理这个问题,那么unit testing人员可能与编码人员不一样?

unit testing和检查私有variables值

我正在用C#,NUnit和Rhino Mocks编写unit testing。 以下是我正在testing的课程的相关部分: public class ClassToBeTested { private IList<object> insertItems = new List<object>(); public bool OnSave(object entity, object id) { var auditable = entity as IAuditable; if (auditable != null) insertItems.Add(entity); return false; } } 我想在调用OnSave之后在insertItems中testing值: [Test] public void OnSave_Adds_Object_To_InsertItems_Array() { Setup(); myClassToBeTested.OnSave(auditableObject, null); // Check auditableObject has been added to insertItems array } […]

如何启动unit testing或TDD?

我读了很多让我相信我应该开始编写unit testing的文章,为了更容易的嘲讽,我也开始使用dependency injection(Unity),但是我还不太清楚在哪个阶段我应该开始写unit testing和嘲笑,以及如何或从哪里开始。 首选的方法是在TDD方法中描述的方法之前写unit testing吗? unit testing有没有不同的方法或方法?

在具有唯一约束的关联的Rails中使用factory_girl。 获取重复的错误

我正在使用Rails 2.2项目来更新它。 我正在用工厂replace现有的灯具(使用factory_girl),并有一些问题。 问题在于使用查找数据表示表的模型。 当我创build具有相同产品types的两种产品的购物车时,每个创build的产品都将重新创build相同的产品types。 产品types模型上的唯一validation的这个错误。 问题示范 这是从一个unit testing,我创build一个车,把它放在一起。 我必须这样做来解决这个问题。 这仍然表明了问题。 我会解释。 cart = Factory(:cart) cart.cart_items = [Factory(:cart_item, :cart => cart, :product => Factory(:added_users_product)), Factory(:cart_item, :cart => cart, :product => Factory(:added_profiles_product))] 所添加的两个产品是相同的types,每个产品创build时都会重新创build产品types并创build重复项。 生成的错误是:“ActiveRecord :: RecordInvalid:validation失败:名称已被占用,代码已被占用” 解决方法 此示例的解决方法是覆盖正在使用的产品types并传入特定的实例,因此只使用一个实例。 “add_product_type”提前获取并传入每个购物车项目。 cart = Factory(:cart) prod_type = Factory(:add_product_type) #New cart.cart_items = [Factory(:cart_item, :cart => cart, :product => Factory(:added_users_product, :product_type […]

在我创build一个新的scheme之后,xcode 4无法启动unit testing(带有链接器错误)

我的unit testing在xcode4中工作得很好,直到我不得不创build一个新的模式来编译一个包在我的设备上运行以进行testing。 我所做的只是创build一个新的目标和一个新的计划,现在我尝试运行unit testing,并得到以下错误: Tests.octest的testing包无法加载,因为发生链接错误。 dyld很可能找不到与testing包链接的框架或库,可能是因为框架或库在链接时有不正确的安装path。 我打破了什么?

使用Retrofit2和Mockito或Robolectric的Androidunit testing

我可以testingretrofit2beta4的真实反应吗? 我需要Mockito还是Robolectic? 我没有在我的项目活动,这将是一个图书馆,我需要testing是服务器响应正确。 现在我有这样的代码卡住了… @Mock ApiManager apiManager; @Captor private ArgumentCaptor<ApiCallback<Void>> cb; @Before public void setUp() throws Exception { apiManager = ApiManager.getInstance(); MockitoAnnotations.initMocks(this); } @Test public void test_login() { Mockito.verify(apiManager) .loginUser(Mockito.eq(login), Mockito.eq(pass), cb.capture()); // cb.getValue(); // assertEquals(cb.getValue().isError(), false); } 我可以做出假的回应,但我需要testing真实。 成功了吗? 它的身体是否正确? 你能帮我用代码吗?

为什么嘲笑课是如此糟糕?

我最近和一位同事讨论了嘲笑。 他说嘲笑课是非常糟糕的,不应该做,只有less数情况。 他说只有接口应该被嘲笑,否则就是一个架构错误。 我想知道为什么这个声明(我完全相信他)是如此正确? 我不知道,希望被说服。 我有没有想到嘲笑的地方(是的,我读了马丁·福勒的文章 )

SQLselect列表中的布尔expression式

我想创build一个SQLselect在MS SQL Server 2005中进行unit testing。基本思想是这样的: select'Test Name',foo ='Result'from bar where baz =(某些标准) 这个想法是,如果“富”列的值是“结果”,那么我会得到一个值为true / 1; 如果不是,我会得到假/ 0。 不幸的是,T-SQL不喜欢expression式; 它在等号上窒息。 是否有某种方法来评估SQLselect列表中的expression式并获得可返回的结果? (或者其他一些实现我想要的unit testing的方法?) 编辑:3伟大的答案,都围绕CASEbuild成。 我会接受这个信号,因为他得到最less的代表,因此最需要它。 :-) 谢谢大家。

pytest:断言几乎相等

如何执行assert almost equal与py.test相同的浮动,而不诉诸于像这样的东西: assert x – 0.00001 <= y <= x + 0.00001 更具体地说,知道一个简洁的解决scheme可以快速比较浮点数对, assert (1.32, 2.4) == i_return_tuple_of_two_floats()