我正在使用AngularJS的Rails 3.2应用程序。 我可以让Angular做我所需要的,但是我很难搞清楚如何testing我在做什么。 我正在使用guard-jasmine来运行使用PhantomJS的Jasmine规格。 这里是(相关的)html: <html id="ng-app" ng-app="app"> <div id="directive-element" class="directive-element"> </div> </html> JavaScript(在coffeescript中)看起来像: window.Project = App: angular.module('app', []) Directive: {} Project.Directive.DirectiveElement = -> restrict: 'C' link: (scope, element, attrs) -> element.html 'hello world' Project.App.directive 'directiveElement', Project.Directive.DirectiveElement 上面的代码完全是它打算做的。 testing是问题。 我根本无法让他们工作。 这是我曾经试过的一件事。 发布这个主要是为了开始谈话的地方。 describe 'App.Directive.DirectiveElement', -> it 'updates directive-element', -> inject ($compile, $rootScope) -> element = […]
你们知道我可以如何使用Curl命令行来发布SOAP来testingWeb服务吗? 我有一个文件(soap.xml),它附带了所有的soap消息,我似乎不能正确地发布它。 谢谢!
我和我的同事正在select一个Web框架来开发一个高stream量的网站。 我们真的很擅长node.js + express和php + symfony2 。 两者都是很好的框架,但是我们对Symfony2有点担心,因为它似乎超过了大多数Web框架。 以下是certificate它的基准: http : //www.techempower.com/benchmarks/ 由于这个原因,我们可能会使用node.js + express,但是我仍然想知道为什么Symfony2在基准testing中performance如此糟糕。
可能重复: 什么是烟雾testing,它会对我做什么? 什么是健康testing/检查 什么是烟雾testing,为什么它有用?
我想在运行我写的迁移之后testing某些条件。 目前最好的方法是什么? 为了使这个具体:我做了一个迁移,将一列添加到模型,并给它一个默认值。 但是我忘了更新该模型的所有预先存在的实例,使其具有新列的默认值。 我现有的testing都不会抓住这个,因为它们都是从一个全新的数据库开始,并添加新的数据,这些数据将会有默认值。 但是如果我推动生产,我知道事情会打破,我希望我的testing告诉我。 我发现http://spin.atomicobject.com/2007/02/27/migration-testing-in-rails/ ,但还没有尝试过。 这是非常古老的。 这是最先进的吗?
我熟悉nunitunit testing的业务层,但是我现在正在寻找自动化的胜利formsgui层的testing。 我已经看到了watin和watinlogging器,通过访问控件并自动化它们来自动化Web应用程序的testing。 然而,我正在努力寻找一个相当于windows窗体(用c#或vb.net编写)的watin相当于开源。 是否存在或是所有基于录制鼠标和键盘的产品? 更新:我已经看过这个白色的博客文章 ,这似乎是我正在寻找的东西。 这个博客文章引发了一些问题,但是由于白色版本只在0.6版本中可以解决。 有兴趣的话,如果其他人使用白色或任何其他比较。
我主要是一个C ++编码器,到目前为止,没有真正为我的所有代码编写testing。 我已经认定这是一个坏主意(tm),在添加了一些巧妙地破坏了旧function的新function之后,或者根据你想看的方式,引入了一些新的function。 但是,unit testing似乎是一个非常脆弱的机制。 你可以在“完美”的条件下testing某些东西,但是当你的代码中断的时候,你不会看到你的代码是如何执行的。 举例来说,抓取工具是抓取一些特定网站的数据X.您是否简单地保存示例页面,对其进行testing,并希望网站永远不会更改? 这对于回归testing可以很好地工作,但是,你会写什么样的testing来不断地检查这些网站,并让你知道应用程序何时不做这个工作,因为网站改变了一些东西,现在会导致你的应用程序崩溃? 你不想让你的testing套件监视代码的意图吗? 上面的例子是有点人为的,还有一些我没有碰到(如果你没有猜到的话)。 不过,让我挑一些我有的东西。 你如何testing一个应用程序将面对退化的networking堆栈时的工作? 也就是说,由于某种原因,你有一个适度的数据包丢失量,并且你有一个函数DoSomethingOverTheNetwork() ,当堆栈没有按照它的要求执行时,它应该会优雅地退化; 但是呢? 开发人员通过专门build立一个网关,在首次写入数据包时模拟一个不好的networking,进行个人testing。 几个月后,有人检查了一些细微修改的代码,所以不能及时检测到退化,或者应用程序甚至不能识别退化,这是从来没有被捕获的,因为你不能运行真实的世界像unit testing这样的testing,可以吗? 此外,如何文件损坏? 假设您将一个服务器列表存储在一个文件中,并且校验和看起来不错,但数据并不是真的。 你想要的代码来处理,你写一些代码,你认为这样做。 你如何testing它确实是应用程序的生命? 你可以吗? 因此,脆性。 unit testing似乎只能在完美的条件下testing代码(这是通过模拟对象等方式来提升的),而不是他们在野外会遇到的情况。 不要误解我的意思,我认为unit testing是很棒的,但是一个仅由它们组成的testing套件似乎是一种巧妙的方法,可以在代码中引入微妙的错误,同时又对自己的可靠性过度自信。 我如何处理上述情况? 如果unit testing不是答案,那是什么? 编辑:我看到很多答案说“只是嘲笑它”。 那么,你不能“嘲笑它”,这是为什么:以我的退化networking堆栈的例子,让我们假设你的函数有一个定义良好的NetworkInterface,我们将模拟。 应用程序通过TCP和UDP发送数据包。 现在,让我们说,嘿,让我们使用模拟对象在接口上模拟10%的损失,看看会发生什么。 你的TCP连接增加了他们的重试次数,以及增加他们的回退,所有的好习惯。 你决定改变你的UDP数据包的X%来实际build立一个TCP连接,有损接口,我们希望能够保证一些数据包的传输,而其他的不应该损失太多。 很好用。 与此同时,在现实世界中,当你增加TCP连接数(或TCP上的数据)时,在一个有损连接的情况下,最终会增加你的UDP数据包丢失,因为你的TCP连接将会结束 – 越来越多地发送他们的数据和/或减less他们的窗口,导致10%的数据包丢失现在更像是90%的UDP数据包丢失。 Whoopsie。 没什么大问题,让我们把它分解成UDPInterface和TCPInterface。 等一下..这些是相互依赖的,testing10%的UDP丢失和10%的TCP丢失是没有什么不同。 所以,问题是现在你不是简单地unit testing你的代码,而是将你的假设引入到操作系统的TCP栈的工作方式中。 而且,这是一个坏主意(tm)。 一个更糟糕的想法,而不是只是避免这整个惨败。 在某些时候,你将不得不创build一个模拟操作系统,其行为完全像你的真实操作系统,除了是可testing的。 这似乎不是一个好的前进方向。 这是我们经历的事情,我相信别人也可以增加他们的经验。 我希望有人会告诉我,我很错,并指出为什么! 谢谢!
我正在使用Postman的打包应用程序版本来针对我的Rest API编写testing。 我试图在连续的testing之间pipe理状态。 为了简化这一点,暴露于Javascripttesting运行时的Postman对象具有设置variables的方法,但是没有方法可以读取。 postman.setEnvironmentVariable("key", value ); 现在,我可以在下一次调用中通过从当前环境中吸取值的{{key}}结构读取这个值。 但是,这在testing中不起作用。 它只适用于请求build立的东西。 那么,有没有从testing中读取这些东西呢?
我读过的问题是: 这个和那个 。 他们build议修改sbt文件。 但是我想运行sbt clean assembly没有testing,不要修改sbt生成文件。 是否有可能与sbt? 在maven中有-DskipTest=true参数,有没有模拟sbt?
我可以在哪里获得,或者如何生成可用于testing应用程序的伪造用户数据(名称,电子邮件地址,位置等)的大型格式集合? 它可以是明显的假的,这将仅限于开发服务器。 但是我相信有什么比我能想到的更好。