我的团队正在使用Cucumber测试REST API。这些步骤将调用API,而方案具有诸如“鉴于我使用JSON YYY调用XXX”之类的内容。
在功能文件的背景中设置JSON变量,然后针对不同的场景进行操作/使用,这是非常不好的做法吗?我们的许多测试都使用只有1-3个已编辑元素的相同JSON对象。我想针对一个场景做这样的事情:
Given I update J element to K value in JSON YYY As <NewJsonVariable>
...
由于Cucumber本身是用于REST API测试的有争议的工具,因此这似乎是一种不好的做法,但是现在我想将变量放入该功能的组合中。但是,我有一些功能是5-10k行(分成多个文件),我估计我可以将其减少到500-1k行,并使它更具可读性。唯一的问题是,测试作者/阅读器现在必须将JSON变量保留在他们的脑海中,但是测试足够短,以至于一次只能有2或3个变量。
我不知道为什么这这么难。我已经尝试了几件事,但出于某种原因,这个 Ruby Cucumber 代码要么继续到块中的下一个代码,要么我得到类似“意外返回(LocalJumpError)”的信息。这是显而易见的,我找不到答案吗?
我有一个解决方法,只需将所有代码包装在“if condition == false”中,但有更好的方法吗?
When(/^I create scenarios$/) do
if condition == true
#exit, return, next, break ????
end
#code i don't want to execute if condition matches
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行Yii程序,但是我收到错误:
应用程序运行时路径"C:\ Program Files\EasyPHP-5.3.8.1\www\project\protected\runtime"无效.请确保它是Web服务器进程可写的目录.
这是否意味着我必须在EasyPHP中改变一些东西?我已经尝试通过directory-> properties-> security添加权限并更改权限以允许所有内容,但这没有做任何事情.我不知道从哪里开始.有任何想法吗?
我有几个项目的解决方案.在一个项目中,我的模型是一个名为ModelEnum的枚举.
然后在我的WPF项目中,我有一个ViewModel,它有一个Dictionary.
在我的ViewModel中,我将ValuesDictionary设置为:
private Dictionary<ModelEnum, string> _valuesDictionary = new Dictionary<ModelEnum, string>();
public Dictionary<ModelEnum, string> ValuesDictionary
{
get { return _valuesDictionary; }
set { _valuesDictionary = value; OnPropertyChanged(_valuesDictionary); }
}
Run Code Online (Sandbox Code Playgroud)
在我的XAML中我有:
xmlns:model="clr-namespace:Model.Data;assembly=Model"
...
<TextBox Text="{Binding Path=ValuesDictionary[(model:ModelEnum)ModelEnum.Enum1].Value}" HorizontalAlignment="Left" Height="29" Margin="90,82,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="50"/>
Run Code Online (Sandbox Code Playgroud)
以下XAML代码段:
(model:ModelEnum)ModelEnum.Enum1
Run Code Online (Sandbox Code Playgroud)
给我错误"参数类型不匹配".我很困惑,因为我以为我把它投射到它所期望的Enum类型.我引用了这个问题来试试它没有运气.
cucumber ×2
ruby ×2
apache ×1
automation ×1
bdd ×1
c# ×1
dictionary ×1
easyphp ×1
enums ×1
json ×1
permissions ×1
wpf ×1
xaml ×1
yii ×1