我是新的Rspec,刚开始在Rails 3上生成一个新的控制器.它默认生成一些Rspec测试.我有一个关于如何使它们通过的问题.就目前而言,我在终端上看到了这个测试"
1)BuildingsController GET'show'应该是成功的
Run Code Online (Sandbox Code Playgroud)Failure/Error: get 'show' No route matches {:controller=>"buildings", :action=>"show"} # ./spec/controllers/buildings_controller_spec.rb:17:in `block (3 levels) in <top (required)>'
但是,我不明白为什么它会出现,因为我已经创建了这条路线("资源:建筑物"),我跑了rake routes并确保它在那里.
建设GET /buildings /:id(.:format){:action =>"show",:controller =>"buildings"}
这通过什么是必要的?以下是测试:
describe "GET 'show'" do
it "should be successful" do
get 'show'
response.should be_success
end
end
Run Code Online (Sandbox Code Playgroud) 我的内容被替换为ajax但有时一个元素在两个页面上具有相同的id(即,主页上的照片在gallery页面上具有相同的id).这意味着当调用dojo.parser.parse时,尝试重新添加小部件,并抛出以下错误:
Error: Tried to register widget with id==____ but that id is already registered
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想要做的是在AJAX替换的DOM节点上运行destroyRecursive.我已经尝试了以下两种方法,但都没有工作(我相信destroyRecursive是针对小部件而不是DOM?):
dojo.byId('main').destroyRecursive();
dijit.byId('main').destroyRecursive();
Run Code Online (Sandbox Code Playgroud)
有没有一种很好的方法可以做到这一点,还是我需要尝试确保我的所有ID都不同?
我正在编写一个需要timedelta输入的函数作为字符串传入.用户必须输入类似"32m"或"2h32m",甚至"4:13"或"5hr34m56s"的内容......是否有图书馆或其他已经实施此类内容的内容?
我正在尝试发送游戏中心邀请.从模拟器发送到设备或从设备发送到模拟器会导致InviteFailed错误.
可能是什么问题?实施不正确?互联网速度低?或者是否无法使用模拟器测试Game Center邀请?
谢谢

我已经在资源和其他SO问题中看到了关于从覆盖率统计中提取代码的问题[DebuggerNonUserCode]和[ExcludeFromCodeCoverage]属性,并想知道是否可以自动将此属性添加到使用.NET 4.0的实体框架生成的代码中的类.
它还需要是类级别还是可以在diagram.Designer.cs级别上,需要一个属性来生成该图生成的所有代码?
unit-testing code-generation entity-framework code-coverage .net-4.0
根据这个论坛的讨论,SQL Server(我使用2005但我收集这个也适用于2000和2008)默认将varchar你指定的任何s指定为varchar的长度,即使直接插入该字符串也是如此.INSERT实际上会导致错误.例如.如果我创建此表:
CREATE TABLE testTable(
[testStringField] [nvarchar](5) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
然后当我执行以下内容时:
INSERT INTO testTable(testStringField) VALUES(N'string which is too long')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
String or binary data would be truncated.
The statement has been terminated.
Run Code Online (Sandbox Code Playgroud)
大.保留了数据完整性,并且调用者知道它.现在让我们定义一个存储过程来插入:
CREATE PROCEDURE spTestTableInsert
@testStringField [nvarchar](5)
AS
INSERT INTO testTable(testStringField) VALUES(@testStringField)
GO
Run Code Online (Sandbox Code Playgroud)
并执行它:
EXEC spTestTableInsert @testStringField = N'string which is too long'
Run Code Online (Sandbox Code Playgroud)
没有错误,1排受影响.将一行插入表中,testStringField格式为'strin'.SQL Server以静默方式截断存储过程的varchar参数.
现在,这种行为有时可能很方便,但我认为没有办法把它关掉.这非常烦人,因为如果我将一个字符串传递给存储过程,我希望错误.似乎有两种方法可以解决这个问题.
首先,将存储过程的@testStringField参数声明为大小为6,并检查其长度是否超过5.这看起来像是一个黑客攻击并涉及大量的样板代码.
其次,只需声明所有存储过程varchar参数varchar(max),然后让INSERT存储过程中的语句失败.
后者似乎工作正常,所以我的问题是:varchar(max)在SQL …
<ui:repeat value="#{coreGridBean.heroBeanList}" var="hero"
offset="0" step="1" size="#{hero.size}" varStatus="status">
<tr class="#{status.even ? 'evenColumn' : 'oddColumn'}">
<td>#{status.index}</td>
<td>#{hero.id}</td>
<td>#{hero.race}</td>
<td>#{hero.name}</td>
</tr>
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
我想知道使用class="#{status.even ? 'evenColumn' : 'oddColumn'}"是否正确.
我觉得使用单引号而不是双引号有点内疚.但在这种情况下,双引号失败,单引号获胜.
我是一位经验丰富的程序员(PHP/mySQL,jQuery),但对ColdFusion一无所知.一个前瞻性的谷歌搜索没有显示(免费)初学者教程的方式.也许我只是被开源产品的压倒性教程所破坏......
我已经定义了以下类和方法:
using System;
using System.Linq.Expressions;
using System.Windows.Forms;
public class ReturnValue<T, S> {}
public class Something<T>
{
// Sorry about the odd formatting. Trying to get it to fit nicely...
public ReturnValue<T, C>
Do<C, S>(C control, Expression<Func<C, S>> controlProperty)
where C : Control
{
return new ReturnValue<T, C>();
}
public ReturnValue<T, ToolStripItem>
Do<S>(ToolStripItem control, Expression<Func<ToolStripItem, S>> controlProperty)
{
return new ReturnValue<T, ToolStripItem>();
}
}
Run Code Online (Sandbox Code Playgroud)
编译好了.呜啊!中途到那里.然后,我尝试稍后使用它像这样的代码:
var toolStripItem = new ToolStripStatusLabel();
var something = new Something<string>();
something.Do(toolStripItem, t => t.Text); // Does …Run Code Online (Sandbox Code Playgroud) 我知道我可以通过使用isFocusControl()它来查看特定小部件是否在SWT中具有控制权.但是,当我的预期窗口小部件没有焦点时,我如何确定是什么(换句话说,什么把焦点带走了)?
我能够使用遍历侦听器来处理键盘事件,但是使用鼠标点击来改变焦点似乎会使我的应用程序变得神秘.我似乎无法弄清楚如何找到从前一项获得焦点的项目.
FocusLost如果通过鼠标事件更改焦点,我也会在侦听器内可靠地将焦点设置到另一个小部件时遇到问题.
有什么建议?
.net ×1
.net-4.0 ×1
c# ×1
coldfusion ×1
datetime ×1
dojo ×1
el ×1
game-center ×1
generics ×1
iphone ×1
java ×1
javascript ×1
jsf ×1
jsf-2 ×1
multiplayer ×1
objective-c ×1
python ×1
quotes ×1
routes ×1
rspec ×1
sql ×1
sql-server ×1
string ×1
swt ×1
testing ×1
timedelta ×1
truncate ×1
truncation ×1
unit-testing ×1