- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我当前的项目中设置 Fitnesse。
pom.xml配置有:
<!-- https://mvnrepository.com/artifact/org.fitnesse/fitnesse -->
<dependency>
<groupId>org.fitnesse</groupId>
<artifactId>fitnesse</artifactId>
<version>20161106</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.fitnesse.plugins</groupId>
<artifactId>maven-classpath-plugin</artifactId>
<version>1.9</version>
<scope>runtime</scope>
</dependency>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>start-fitnesse</id>
<phase>test</phase>
<configuration>
<tasks>
<echo taskname="fitnesse" message="Starting FitNesse..." />
<java classname="fitnesseMain.FitNesseMain" classpathref="maven.runtime.classpath" fork="true">
<arg line="-p 8000" />
<arg line="-d ." />
</java>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
无需创建plugins.properties,我就可以启动fitnesse服务器。但是,我必须引入 Maven 依赖项来运行fitnesse 测试,我在 pom.xml 旁边创建了一个plugins.properties 文件。该plugins.properties有:
SymbolTypes = fitnesse.wikitext.widgets.MavenClasspathSymbolType
现在,当我添加此文件时,启动服务器时出现以下错误:
main:
[fitnesse] Starting FitNesse...
[java] SEVERE: Error while starting the FitNesse [Unable to instantiate component for type fitnesse.wikitext.widgets.MavenClasspathSymbolType]
[java] fitnesse.components.ComponentInstantiationException: Unable to instantiate component for type fitnesse.wikitext.widgets.MavenClasspathSymb
olType
[java] at fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:75)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory$8.register(PropertyBasedPluginFeatureFactory.java:152)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachClass(PropertyBasedPluginFeatureFactory.java:144)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachObject(PropertyBasedPluginFeatureFactory.java:150)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.registerSymbolTypes(PropertyBasedPluginFeatureFactory.java:75)
[java] at fitnesse.plugins.PluginsLoader.loadSymbolTypes(PluginsLoader.java:87)
[java] at fitnesse.ContextConfigurator.makeFitNesseContext(ContextConfigurator.java:151)
[java] at fitnesseMain.FitNesseMain.launchFitNesse(FitNesseMain.java:69)
[java] at fitnesseMain.FitNesseMain.launchFitNesse(FitNesseMain.java:58)
[java] at fitnesseMain.FitNesseMain.main(FitNesseMain.java:38)
[java] Caused by: java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] at fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:72)
[java] ... 9 more
[java] Caused by: java.lang.NoSuchMethodError: com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/c
oncurrent/ConcurrentMap;
[java] at com.google.inject.internal.Annotations$AnnotationChecker.<init>(Annotations.java:104)
[java] at com.google.inject.internal.Annotations.<clinit>(Annotations.java:122)
[java] at com.google.inject.Key.ensureRetainedAtRuntime(Key.java:362)
[java] at com.google.inject.Key.strategyFor(Key.java:354)
[java] at com.google.inject.Key.get(Key.java:222)
[java] at org.sonatype.guice.bean.binders.ParameterKeys.<clinit>(ParameterKeys.java:23)
[java] at org.codehaus.plexus.DefaultPlexusContainer$ContainerModule.configure(DefaultPlexusContainer.java:801)
[java] at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:103)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:80)
[java] at org.sonatype.guice.bean.binders.MergedModule.configure(MergedModule.java:54)
[java] at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:103)
[java] at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
[java] at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
[java] at com.google.inject.Guice.createInjector(Guice.java:94)
[java] at com.google.inject.Guice.createInjector(Guice.java:71)
[java] at com.google.inject.Guice.createInjector(Guice.java:61)
[java] at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:470)
[java] at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:196)
[java] at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:160)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:219)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:215)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.<init>(MavenClasspathExtractor.java:51)
[java] at fitnesse.wikitext.widgets.MavenClasspathSymbolType.<init>(MavenClasspathSymbolType.java:39)
[java] ... 14 more
[java] Java Result: 1
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.552 s
[INFO] Finished at: 2018-03-27T12:58:00-04:00
[INFO] Final Memory: 29M/500M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "fitnesse" could not be activated because it does not exist.
我需要做什么才能让 Fitnesse 正常工作?
最佳答案
您的运行时类路径上可能有另一个库,它使用的 guice 版本比 Maven 类路径插件使用的版本更新。当我在运行测试时将 selenium 放在类路径上时,我遇到了类似的情况:这破坏了 Maven 类路径插件。
我现在使用两种策略来运行健身测试:
java -jarfitness-standalone.zip -p 8000
)启动 wiki,然后将带有依赖项的插件 jar(maven 分类器“jar-with-dependencies”)位于“plugins”子目录中。这样,我的固定装置的任何依赖项都不在 wiki 的类路径上(维基启动一个新的 JVM,使用 Maven 插件生成的类路径来运行固定装置,其中不使用 Maven 类路径插件)。所以不存在依赖冲突。 fitnesse.wikitext.widgets.MavenClasspathSymbolType.Disable
设置为 true
来确保停用 Maven 类路径插件。那么 wiki 确实可以理解 wiki 中的 !pom
符号,但插件本身不会尝试找出所有 Maven 依赖项,从而防止您遇到异常。完整详细信息可以在 pom.xml 中找到我的FitNesse fixtures/project baseline 。还有一个sample using that baseline to take care of all this is available as a separate project .
关于java - Fitnesse Maven 类路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49518909/
我一直在尝试通过健身套件设置页面为数据库连接参数设置环境变量属性。我已经通过在单个测试页面上设置环境变量来对此进行了测试,当我这样做时,它确实在我的 fixture API 中得到了解决。但是当我将它
以前在我的 Fitnesse 装置中,我使用以下命令指定了预期的 WCF 异常: exception[FaultException] 从那时起,我将 WCF 服务转换为返回强类型的 FaultCont
在fitnesse.NET代码中是否有获取当前测试名称的API?我的 fixture 类继承了 fitlibrary.SequenceFixture。 最佳答案 您可以使用变量 ${PAGE_NAME
通过命令行运行 Fitnesse 测试时,我收到 ClassNotFound 异常 由 Java.lang.ClassNotFoundException:fitnesse.runner.testRun
我正在使用 Fitnesse 来测试我们项目的 API,并且我为每个接口(interface)创建了场景表,因此我们可以通过调用场景将请求发送到任何地方。现在我们需要基于随机循环计数来循环执行场景。
我想在 FitNesse 变量中存储以下字符串: !*< comment {{{ 和 }}} *! 不幸的是,它们包含大括号“{}”的事实对于 FitNesse 中的变量声明是有问题的,因为我必须这样
我在根级别有一个设置页面,工作正常。但是,当我在 FitNesse 中添加子维基时,我想在子维基级别放置一个设置页面。这会被包含在内,但根级别的 SetUp 不会包含在内。 例如,具有以下结构: Fo
我想在 FitNesse 变量中存储以下字符串: !*< comment {{{ 和 }}} *! 不幸的是,它们包含大括号“{}”的事实对于 FitNesse 中的变量声明是有问题的,因为我必须这样
我有一个测试套件,测试顺序如下: Suite1---A B C 如何更改测试用例的顺序? 我尝试过重构,但没有帮助。 最佳答案 看起来这不可能... Remembe
我有一个返回业务对象列表的 Fitnesse RowFixture。该对象有一个字段,它是一个代表 0 和 1 之间百分比的浮点数。业务对象的使用者将是来自设计者的网页或报告,因此百分比的格式将取决于
我正在为 Web 应用程序编写 Fitnesse 测试。测试项目之一是下拉框,其值由当前日期决定,格式为DD/MM/YYYY。 我认为在 Fitnesse 套件中使用 !today 变量可能是一种设置
我已经使用 Eclipse 使用某些方法实现了 Web 服务。 然后我把它导出到一个WAR文件,这个文件是要和Tomcat一起使用的。 然后我使用 wsimport 为我的网络服务创建“ stub ”
我正在尝试使用即 !|Execute|select * from abc| 在 DBfit 中获取 sql 查询输出,但不知道它将如何在 DBfit 中显示。 最佳答案 我认为您正在寻找 Inspec
我尝试通过 FitNesse 测试代码后收到错误“无法调用构造函数”。我该怎么做才能解决这个问题? 我已按照“https://www.softwaretestinghelp.com/getting-s
我问是因为我在 Google 中找到的所有示例都与 Fitnesse 教程中的相同:对内存中的列表或数组的非常简单的查询,而不是真正的数据库。 是的,Fixtures 永远不必处理这个问题,但是如果我
我希望能够将预先格式化的文本(即包含换行符)放入FitNesse灯具表的单个单元格中。有没有一种方法可以操纵FitNesse Wiki标记来做到这一点? 最佳答案 用 !- -!获取多行表格单元格,使
我正在使用 FitNesse 来测试 Web 服务响应,并使用 check 来比较预期响应与实际响应。 在某些情况下,检查失败,我无法看出导致检查失败的预期与实际之间的差异。 这是它在特定实例(许多类
运行健身测试时,我看到它被忽略(未运行)。我不明白为什么。下面是代码: #!include .ActionDefinitions !path C:\Users\rdixit\Documents\Vis
我已经阅读了 fitnesse 用户指南。但我似乎很难理解,因为我想测试一个网络服务。 问题如下我有一个请求 xml 文件和响应 xml 文件。在请求文件中,我有 userid 和 logon id
我刚刚继承了一个旧的 Java 代码库(大约 10 - 15 岁)。它没有任何自动化测试范围,或者至少当代世界知道它。首先,我打算围绕它编写一些 Fitnesse 脚本。 我知道 Concordion
我是一名优秀的程序员,十分优秀!