我相信我有一个rspec let和范围问题.我可以在示例中使用let定义的方法("it"块),但不能在外面(我执行let的describe块).
5 describe Connection do
8 let(:connection) { described_class.new(connection_settings) }
9
10 it_behaves_like "any connection", connection
24 end
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此规范时,我收到错误:
connection_spec.rb:10:未定义的局部变量或类的方法`connection':0xae8e5b8(NameError)
如何将连接参数传递给it_behaves_like?
我正在写一个使用SaS的网络应用程序.每个客户都有自己的db和app目录,所以我有一个rake任务,它创建了运行他们网站的所有必要的最小数据(种子数据):默认权限和角色,superadmin用户,已经填充的"us_states"表,一些本地仓库和终端(这是一个物流应用程序).
我没有任何黄瓜方案,我刚刚开始构建一些.我是黄瓜初学者.
我首先将种子数据任务放在Given行中,但这几乎适用于所有场景,并且对于那些查看场景的非程序员来说没有多大意义(对于人类而言,它是如此给定的它不需要有意识地表达)所以我把它移到了hooks.rb.
我的第一个场景看起来像这样:
1 Feature: Place an order
2 In order to keep orders in the database
3 As a admin
4 I want to place orders
5
6 Scenario: Using common legs
7 Given I have 1 customers
8 And I'm on the homepage
9 And I follow "Place an Order"
10 When I select the customer
11 And I select the SSLine
12 And I click "Use Common Legs"
13 Then I should see "PICKUP AT"
14 …
我有一个包含100多个全局变量的包含文件.它正在库中使用,但是我链接lib的一些程序也需要访问全局变量.
它的构建方式:
// In one library .c file
#define Extern
// In the programs that use the globals
#define Extern extern
// In the .h file
Extern int a,b,c;
Run Code Online (Sandbox Code Playgroud)
我很难理解为什么原始程序员这样做,所以我删除了定义Extern的东西.现在,我想我了解TU与计算器的帮助的事情: 1, 2, 3.
现在我明白我应该在库中的一个.c文件中定义全局变量,并在.h文件中使用extern.问题是我不想重复代码.
我应该回到那个#define外部伏都教吗?
我在一个程序中有一个函数调用,我正在维护有一个printf调用的28个参数.它在CSV文件中打印了大量数据.我发现问题发生了什么,我在参数类型中遇到了一些不匹配问题.我在gcc中启用了-Wall,我收到警告:
n.c:495: warning: int format, pointer arg (arg 15)
n.c:495: warning: format argument is not a pointer (arg 16)
n.c:495: warning: double format, pointer arg (arg 23)
Run Code Online (Sandbox Code Playgroud)
功能是这样的:
fprintf (ConvFilePtr, "\"FORMAT3\"%s%04d%s%04d%s%s%s%d%s%c%s%d%c%s%s%s%s%s%s%s%11.lf%s%11.lf%s%11.lf%s%d\n", some_28_arguments_go_here);
Run Code Online (Sandbox Code Playgroud)
我想知道当我将光标放在变量上时是否有一个vim插件突出显示printf格式说明符.
其他方案?如何更好地重新格式化代码以使其更具可读性?