Tag: tdd

使用dependency injection与Roboguice?

我正在开发一个Android项目,我想知道什么是build立一个Android应用程序的好架构的build议。 我想使用Roboguice的dependency injection,我一直在阅读有关MVVM模式或MVC模式( Android MVVMdevise模式示例 )。 另外我知道roboguice有一个非常酷的基于Context的事件的提升和处理function,可以非常容易testing,因为代码是分离的。 任何关于工作devise模式的build议? 一个可testing和可扩展的架构,你曾经或开发?

使用TDD原则在JavaScript中开发UI

我在尝试提出在JavaScript中开发UI时正确遵循TDD原则的最佳方法遇到了很多麻烦。 最好的办法是什么呢? 将视觉与function分开是最好的吗? 你是否首先开发视觉元素,然后编写testing,然后编写function代码?

开始TDD – 挑战? 解决scheme? build议?

好吧,我知道现在已经有关于TDD入门的问题了。但是,我想我知道总体的共识就是这样做 ,但是我的头脑似乎还有以下问题: 在使用集合时,即使基于generics等,我们仍然“知道”它的工作方式,仍然会testing是否显示成功添加/删除/插入。 有些testing似乎需要永远的执行..比如在使用string输出的时候,是否有一种“更好”的方式来处理这种事情呢? (例如,在parsing之前testing对象模型,将parsing分解成小操作并在那里testing)在我看来,你应该总是testing“最终结果”,但是这可能会变化很大并且很难设置。 我没有一个testing框架来使用(工作不会支付一个),所以我可以“实践”更多。 有没有免费的商业用途? (此刻我正在使用良好的'ol Debug.Assert 🙂 可能是最大的..有时我不知道该怎么想不会发生..我的意思是,你得到你的绿灯,但我总是担心,我可能会错过一个testing..你挖深入尝试打破代码,或保持它,等待它所有后来(这将花费更多)。 所以基本上我在这里寻找的不是一个“ 只是做 ”,而是更多的“ 我做了这个,有这个问题,通过这个解决了他们 ”.. 个人经验:)

如何在所有浏览器中运行unit testing?

我从来没有使用selenium,但我想这是为了模拟所有浏览器中的用户交互。 这就像集成testing。 但是,你如何以自动的方式在所有的浏览器上testing你的js库/框架(unit testing)呢?

Androidtesting驱动开发

我在制作Android应用程序方面有相当的经验。 对于我的新项目,我们决定进行testing驱动开发(TDD)。 我一直在Robotium用户场景testing中弄湿我的手,并且它工作正常,看起来也很容易。 对于unit testing,我尝试使用(MockContext Android Class)来模拟上下文,但我无法这样做。 我浏览了这个博客http://sites.google.com/site/androiddevtesting/并通过这个http://sdudzin.blogspot.com/2011/01/easy-unit-testing-for-android.html ,这表明在Android应用程序中的嘲弄仍然非常有限和困难,并build议使用PowerMock,jMockit,JeasyTest或Roboelectric(与Mockito和Maven结合)甚至RoboGuice。 我想从你们那里得到你认为哪个unit testing框架最适合testingAndroid应用程序的build议。 (尤其是testingAndroid类,可能会给出模拟上下文和其他模拟function,以便尽可能使testing用例尽可能独立)。 任何build议或指针都会有所帮助。 谢谢

如何强制VS 2010跳过尚未更改的项目的“构build”?

我们的产品解决scheme拥有超过100多个项目(500 + ksloc的生产代码)。 他们大多数是C#项目,但我们也很less使用C ++ / CLI来桥接与本地代码的通信。 重build整个解决scheme需要几分钟的时间。 没关系。 如果我想重build解决scheme,我希望这真的需要一些时间。 什么是不好的完成重build后,需要时间来build立解决scheme。 想象一下,我使用完全重build,现在没有做任何改变的解决scheme,我按Build(F6或Ctrl + Shift + B)。 为什么没有变化需要35s? 在输出中,我看到它开始“build立”每个项目 – 它不执行实际的构build,但它做了一些耗费大量时间。 35秒的延迟是屁股疼痛。 是的,我可以通过不使用生成解决scheme,而只是build立项目(Shift + F6)来改善时间。 如果我在特定的testing项目上运行生成项目,我目前正在开发它将需要“仅”8 + s。 它需要我在正确的项目上运行项目构build(testing项目以确保依赖testing的代码也被构build)。 至lessReSharpertesting运行器正确地认识到,只有这个单一的项目必须build立和重新运行testing通常只包含8 + s编译。 我目前的编码是:不要触摸Ctrl + Shift + B。 testing项目的构build将花费8s,即使我没有做任何改变。 之所以花费8s,是因为它也“build立”依赖关系=在我的情况下,它“build立”了20多个项目,但是我只改变了unit testing或单一依赖项! 我不希望它触及其他项目。 有没有办法简单地告诉VS只build立一些改变了的项目和依赖于改变的项目(最好这个部分是另一个构build选项)? 我担心你会告诉我,这正是VS正在做什么,但在MS方式… 我想提高我的TDD经验,并减less编译时间(在TDD编译可以每分钟发生两次)。 为了让这个更加令人沮丧,我正在一个团队中工作,大多数开发人员在join这个团队之前曾经在Java项目上工作过。 所以你可以想象,当他们必须使用VS时,他们是如何生气的,而不是在Java中完全增量编译。 我不需要增量编译类 。 我期待着解决scheme的逐步编译。 特别是像VS 2010 Ultimate这样的产品,其价值几千美元。 我真的不想得到像这样的答案: 做一个单独的解决scheme 卸载不需要的项目 等等 […]

TDD:它是否阻碍了良好的APIdevise?

我从来没有写过TDD代码,但是在这里我已经看到了大量的讨论。 我最关心的是,好像一般的APIdevise(灵活性,易用性,界面的简单性和性能)似乎有时候会让代码变得模糊,超模块化,超越了任何API使用的必要案例等。例如,TDD支持者经常build议将事情作为parameter passing,从API抽象的angular度来看,被调用的方法应该“只是知道”,或者将类和方法考虑在内,以便于testing,这不一定是最好地涉及问题领域的方式。 对于在TDD和APIdevise方面更有经验的人员:您是否发现TDD经常妨碍良好的APIdevise? 如果是这样,你如何反击呢?

unit testing与验收testing

你是一个人还是另一个? 或两者? 我的理解是unit testing: 从开发人员的angular度validation系统 帮助开发者练习TDD 保持代码模块化 有助于以较低的粒度检测错误 验收testing: 从业务和QC / QA的angular度validation系统 往往是高层次的,因为他们通常是由不熟悉代码内部工作的人写的 我觉得都是必要的。 但是,为了尽量减less冗余工作,尝试将unit testing纳入验收testing是一个好主意吗? 换句话说,后者叫前者。 朝相反的方向行事有意义吗? 你对unit testing和验收testing有什么想法,以及如何pipe理它们之间的关系?

PHPUnittesting的“Web界面”?

是否有一个简单的“Web界面”来运行PHPUnittesting套件? 即在命令行上运行testing的PHP脚本,并输出格式良好的HTML结果。 我开发Web应用程序,日常工作stream程通常在IDE和浏览器之间切换。 我想在相同的环境中进行unit testing。 我正在寻找一些非常简单和基于PHP的东西 – 我打算进入phpUnderControl(它有我正在寻找的function),但还没有。

TDD和Test First Development(或testing优先编程)之间有区别吗?

这两个想法听起来都非常类似于我,但是可能存在细微的差异或完全相同的东西,用不同的方式解释。 TDD和Test First Development / Programming之间有什么关系?