MAIBILAI

javascript - 在 Rails 中测试 JavaScript View

coder 2024-05-12

在 Rails 中测试 JavaScript View (测试页面是否明智地运行 JavaScript)的最佳方法是什么?

假设我有一个名为 /users/new 的页面,其中包含一个可以执行某些操作的表单。我想要它以便我提交表单,JavaScript 测试工具将让我知道该页面是否中断。执行此操作的最佳方法是什么?

我遇到了三个测试选项:

  1. Konacha(迄今为止 JS BDD 的最佳工具)http://www.solitr.com/blog/2012/04/konacha-tutorial-javascript-testing-with-rails/

  2. JasmineRice(Jasmine + Rails + Guard)https://github.com/bradphelan/jasminerice/

  3. capybara Webkit。 https://github.com/thoughtbot/capybara-webkit

前两个基本上用于BDD 和独立测试。最后一个更适合我正在寻找的东西,但我不想为 JavaScript BDD 和集成测试设置单独的测试设置

有没有人有更好的解决方案?

最佳答案

查看 github 上的 Teaspoon 项目。

https://github.com/modeset/teaspoon

它支持 Mocha、Jasmine 和 QUnit。非常支持使用 PhantomJS(或 Selenium Webdriver) headless 运行您的规范,并允许使用完整的 Rails Assets 管道(coffeescript、fixtures 等)。

此外,它深受我与其他使用 Rails 的测试运行者的经验影响。

关于javascript - 在 Rails 中测试 JavaScript View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320025/

有关javascript - 在 Rails 中测试 JavaScript View的更多相关文章

  1. c# - 为什么 RelayCommand RaiseCanExecuteChanged 在单元测试中不起作用? - 2

    我正在使用Nuget(4.1.23.0)上可用的当前版本的MvvmLight,调用RaiseCanExecuteChanged似乎在单元测试中没有做任何事情。场景很简单,我有一个命令:publicRelayCommandFooCommand{get;privateset;}我在View模型构造函数中新建它并将它指向一些私有(private)方法:FooCommand=newRelayCommand(Foo,CanFoo);privatevoidFoo(){//dosomefooing.}privateboolCanFoo(){returnSomeRequiredProperty!=nu

  2. c# - 如何测试 C# ref 参数是否引用相同的项目 - 2

    在C#中给定一个具有以下签名的函数publicstaticvoidFoo(refintx,refinty)如果函数是用调用的intA=10;Foo(refA,refA)在函数Foo中是否可以测试x和y参数引用同一个变量?对x和y进行简单的等效测试是不够的,因为在两个不同变量具有相同值的情况下也是如此。 最佳答案 如果你愿意使用不安全的代码,你可以比较底层变量地址:publicstaticboolFoo(refinta,refintb){unsafe{fixed(int*pa=&a,pb=&b){//returntru

  3. c# - 如何在 ASP.NET MVC3 网站中对我的 Json 结果进行单元测试? - 2

    我正在尝试测试从ASP.NETMVC3JsonView返回的Data值,但我不确定如何做。我有一个简单的ASP.NETMVC3网站,带有一个返回JsonView的操作方法。例如(匿名类型列表的一些伪代码):varlotsOfFail=database.GetMeThatDamnDataList();varreturnData=(fromxinlotsOfFailselectnew{Id=x.Id,Name=x.Name..}).ToList();returnJson(returnData,JsonRequestBehavior.AllowGet);现在在我的单元测试中,我正在尝试测试D

  4. C# 单元测试 - 生成模拟 DataContexts/LINQ -> SQL 类 - 2

    我热爱C#的新世界,我的玩具程序已经到了我想开始编写一些单元测试的地步。我的代码当前通过DatabaseDataContext对象(*.dbml文件)使用数据库,为此对象创建模拟的最佳方法是什么?考虑到生成数据库LINQ->SQL代码是多么容易以及这一定是一个多么普遍的请求,我希望VS2010内置了有助于测试的功能。如果我偏离了方向并且必须手动完成此操作,您能否告诉我您的首选方法?非常感谢,加文 最佳答案 DataContext的问题在于它不是为模拟而设计的。模拟不可模拟对象的免费工具是MolesfromPex(Pexmoles?)

  5. c# - 从强类型 View 提交多个模型表单的模型绑定(bind) - 2

    我在绑定(bind)提交了多个模型的表单时遇到问题。我有一份投诉表,其中包括投诉信息以及一对多投诉人。我正在尝试提交表单,但在绑定(bind)时遇到错误。ModelState.IsValid始终返回false。如果我调试并查看ModelState错误,我会听到一句话:“EntityCollection已经被初始化。InitializeRelatedCollection方法应该只在对象图的反序列化期间被调用以初始化新的EntityCollection”。此外,在调试时,我可以看到投诉模型确实填充了表单提交中的投诉人,所以看起来这部分工作正常。我不确定我正在做的事情是否无法使用默认的Mod

  6. c# - 代码访问 ActiveDirectory 的单元测试 - 2

    对访问ActiveDirectory的应用程序进行单元测试和/或模拟对AD的依赖性的最佳方法是什么?所有必需的类型,如DirectorySearcher和DirectoryEntry似乎都不容易模拟。我们有像FindByUserName()这样的方法,并且想要(单元)测试它们。 最佳答案 如果它们不可模拟(手头没有MSDN,所以我真的不能说),你总是可以在IDirectorySearcher和IDirectoryEntry后面抽象它们>并mock这些。通过这种方法,您可以根据自己的需要进行专门定制,从而简化API。

  7. c# - 如何使用列表和关系对象测试 fluent-NHibernate 的 PersistenceSpecification.VerifyTheMappings? - 2

    你会如何测试这个场景?我刚刚开始研究NHibernate并在TDD上进行了第一次bash。到目前为止,我真的很喜欢它,并且一直在使用fluent-Nhibernate来映射类。但是,当谈到在PersistenceSpecification上使用VerifyTheMappings方法时,我似乎陷入了死胡同。基本上我有两个类,Recipient和RecipientList。RecipientList类有一个到Recipient的映射,具有流畅的“HasMany”关系:publicclassRecipientListMap:ClassMap<RecipientList>{publ

  8. c# - 如何使用 Jenkins 安排 C# 单元测试? - 2

    在过去的6个月里,我们的测试团队一直在使用seleniumwebdriver来测试我们基于网络的产品。我们已经取得了巨大的成功,并且每天都在继续使用它。我们使用visualstudio,因为我们是一个.net商店来编写我们的c#单元测试。我们不使用任何其他.net测试框架。直到最近,我们一直通过visualstudio(2013)中的测试资源管理器窗口手动运行自动化测试,检查结果,然后将它们记录到电子表格中。我知道这并不理想,但我们没有那么多测试,所以到目前为止这很适合我们。然而,我们需要编写和维护的自动化测试的数量将在未来几个月内迅速增加。我最近一直在尝试创建用于调用vstest.c

  9. c# - 将 C# 对象列表转换为 JavaScript 对象数组 - 2

    我正在使用jQueryUI的autocomplete允许搜索用户。文档指出我可以使用以下格式的数组作为数据源:[{label:"Choice1",value:"value1"},...]我有一个基类,它提供了一个由我的View模型继承的唯一Users列表。View模型具有以下功能:publicList<TestJson>GetUsers(){returnAvailableUsers.Select(u=>newTestJson{Label=u.LastName+","+u.FirstName+"("+u.UserId+")"

  10. c# - NUnit 是 Selenium 测试的错误选择吗? - 2

    在搜索NUnit+依赖方法+测试执行顺序时,我已经阅读了很多关于SO的答案。每一个答案都表明,强制执行单元测试的任何顺序都是极其邪恶的。我正在使用NUnit编写Selenium测试。所以我正在尝试使用单元测试框架编写集成测试!!!举一个集成测试的例子(这只是一个例子)。在进行其他测试之前,我需要创建一个有效帐户。如果创建帐户失败,那么我想中止整个测试执行。由于我不想依赖字母顺序进行测试,并且本着NUnit的真正精神,我决定在进行任何进一步测试之前创建一个帐户。尽管出于两个核心原因,我觉得它不合适-不必要的代码重复/执行如果应用程序帐户创建不起作用怎么办,我所有的测试仍然会一次又一次地尝

随机推荐

  1. c# - WCF DataContract 与 DataContract 接口(interface) - 2

    WCF新手。DataContact类可以继承自Interface吗?例如:[DataContract(Namespace=...........)]publicclassVesselSequence:IVesselSequence{[DataMember]publicintAllocationId{get;set;}[DataMember]publicstringScenarioName{get;set;}}interfaceVesselSequence:IVesselSequence{publicintAllocationId{get;set;}publicstringScenari

  2. c# - 连接到维基百科 API 的 WebRequest - 2

    这可能是一个可悲的简单问题,但我似乎无法格式化帖子webrequest/response以从WikipediaAPI获取数据.如果有人能帮我看看我的问题,我已经在下面发布了我的代码。stringpgTitle=txtPageTitle.Text;Uriaddress=newUri("http://en.wikipedia.org/w/api.php");HttpWebRequestrequest=WebRequest.Create(address)asHttpWebRequest;request.Method="POST";request.Content

  3. c# - “Application.Restart”在 ClickOnce 部署的应用程序中不起作用 - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhyisApplication.Restart()notreliable?我拉了thecodestraightfromMSDN.这会更新我的应用程序,但Restart()不起作用。应用程序关闭,但不会重新启动。我在我的Form中添加了一个MenuItem以验证Restart()是否正常工作:privatevoidrestartToolStripMenuItem_Click(objectsender,EventArgse){Application.Restart();}这将重新启动应用程序(当然,它不执行任何

  4. c# - 从 .NET 应用程序中读取和解码存储在图像或 PDF 文件中的 PDF-417 条码 - 2

    我正在寻找能够从PDF-417barcode中解码数据的.NET库嵌入在图像文件或PDF中。在这一点上,我只能找到一个Javaversion和一个Cversion.理想情况下,这个库应该是开源和免费的,但我怀疑这样的解码器是否存在。我愿意试用您可能已经使用过的现有产品的演示-这引出了我的问题-您是否有过使用.NET阅读图像或PDF中嵌入的PDF-417条码的经验,以及哪些您会推荐哪些可用产品? 最佳答案 ClearImageBarcodeRecognitionSDKfor.NET可能是解码PDF417和许多其他条形码的最简单方法。我

  5. c# - lambda 表达式中的事件 - C# 编译器错误? - 2

    我正在考虑使用lamba表达式来允许以强类型方式连接事件,但中间有一个监听器,例如给定以下类(class)classProducer{publiceventEventHandlerMyEvent;}classConsumer{publicvoidMyHandler(objectsender,EventArgse){/*...*/}}classListener{publicstaticvoidWireUp<TProducer,TConsumer>(Expression<Action<TProducer,TConsumer>>expr){/*...*/}

  6. c# - 如何在 Windows 窗体应用程序中显示矢量图形 (SVG)? - 2

    有没有办法(最好是控件)在Windows窗体应用程序中显示矢量图形(最好是SVG)?我猜这很容易用WPF来做,但我宁愿不必迁移项目。 最佳答案 GDI+Graphics类可以处理矢量图形。对于SVG,您可以尝试将其加载到WebBrowsercontrol中... 关于c#-如何在Windows窗体应用程序中显示矢量图形(SVG)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3

  7. c# - 使用 XPath/应用 XSL 转换遍历任意 C# 对象图 - 2

    我一直在寻找一个允许我将任意C#对象传递给XSL转换的组件。最简单的做法是使用XmlSerializer序列化对象图;然而,如果你有一个大的对象图,就性能而言,这可能会导致问题。循环引用、延迟加载、代理等问题可能会使这里的水域更加困惑。更好的方法是使用某种实现IXPathNavigable和XPathNavigator的适配器类。我遇到的一个这样的例子是ObjectXPathNavigatorfromByte-Force--然而,它的大部分关键文档都是俄语的,我的初步测试似乎表明它有一些怪癖和特质。有没有人知道(a)任何关于此特定内容的英语资源(概述、教程、博客文章等)或(b)提供相同

  8. c# - 虚拟目录中的 ASP.NET MVC - 2

    我的Global.asax.cs中有以下内容routes.MapRoute("Arrival","{partnerID}",new{controller="Search",action="Index",partnerID="1000"});routes.MapRoute("Default","{controller}/{action}/{id}",new{controller="Home",action="Index",id=""

  9. c# - 如何正确转换通过反射创建的对象 - 2

    我正试图全神贯注于反射,所以我决定将插件功能添加到我正在编写的程序中。理解一个概念的唯一方法就是动手写代码,所以我创建了一个简单的接口(interface)库,其中包含IPlugin和IHost接口(interface),一个实现IPlugin的类的插件实现库,以及一个简单的实例化IHost实现类的控制台项目,该类对插件对象进行简单的工作。使用反射,我想遍历我的插件实现dll中包含的类型并创建类型的实例。我能够使用此代码成功实例化类,但无法将创建的对象转换为接口(interface)。我尝试了这段代码,但无法按预期转换对象o。我使用调试器逐步完成了整个过程,并调用了正确的构造函数。快速

  10. c# - 在 C# 中计算素数的最快方法? - 2

    我的问题实际上有答案,但它不是并行化的,所以我对改进算法的方法很感兴趣。不管怎样,它对某些人来说可能是有用的。intUntil=20000000;BitArrayPrimeBits=newBitArray(Until,true);/**SieveofEratosthenes*PrimeBitsisasimpleBitArraywhereallbitisaninteger*andwemarkcompositenumbersasfalse*/PrimeBits.Set(0,false);//Youdon'tactuallyneedthis,justPrimeBits.Set(1,f