我正在玩rails 4.我刚刚为我的模型创建了非常简单的测试但是当我尝试执行"rake test:models"时,我得到以下错误:
C:\rails\project>rake test:models
DL is deprecated, please use Fiddle
rake aborted!
Errno::EACCES: Permission denied @ unlink_internal - /tmp/db/new.sqlite3
C:/rails/project/test/test_helper.rb:3:in `<top (required)>'
C:/rails/project/test/models/admin_test.rb:1:in `<top (required)>'
Tasks: TOP => test:models
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)
我的测试数据库配置如下所示:
test:
adapter: sqlite3
database: /tmp/db/new.sqlite3
pool: 5
timeout: 5000
Run Code Online (Sandbox Code Playgroud)
"/ tmp/db"是我个人笔记本电脑上完全访问权限的目录.
有什么想法可能是这个问题的根源?
我需要通过SSH隧道使用远程调试器调试Java应用程序.我在我的PC上配置了putty,我可以使用隧道连接到服务器上运行的任何其他服务,但是eclipse远程调试器无法连接.
在服务器端,我使用Java 1.6.0_21-b06启动以下调试选项:
-Xrunjdwp:transport=dt_socket,address=8686,server=y,suspend=n
在我的笔记本电脑上,ssh隧道配置为:
L8686 IP_ADDR:8686
在ssh隧道上运行会话时,JVM调试器是否有任何限制?
还有一件事,当我尝试连接时,在服务器控制台上我可以看到以下log mesage:
Listening for transport dt_socket at address: 8686
我必须实现需要在特定日期延迟向用户发送消息一次的功能,该日期可以是任何时间 - 从明天到几个月后。
到目前为止,我们所有的代码都是作为 lambda 函数实现的。
我正在考虑如何实现这一点的三种选择:
在 DynamoDB 中创建一个条目,哈希键为日期,范围键为唯一 ID。安排 lambda 每天运行一次,并获取当天安排的所有条目/任务,为每个条目发送一条消息。
使用 SDK 创建带有指示单次执行的 cron 表达式的 cloudwatch 事件规则,并使其调用带有用户/消息 ID 的 lambda 函数(目标)。lambda 将按照特定的时间表调用,并传递特定的用户/消息。
创建一个步骤函数实例并将其配置为睡眠并使用逻辑调用步骤,以便在适当的时刻到来时发送消息。
您对实现此类业务需求的最佳实践有什么建议吗?也许是一种完全不同的方法?
我开始使用Rails,目前我仍然坚持对控制器进行集成测试.
我正在尝试验证如果某个值是由表单中的用户提供的,Active Record会生成错误并将这些错误传递给视图.
我的问题是我不知道如何在集成测试中访问控制器分配的变量(例如 - @user).正如我在http://guides.rubyonrails.org/testing.html#what-to-include-in-your-functional-tests中读到的那样,我可以访问变量,例如@controller,@ request,@ response,但我也期待我可以轻松访问控制器分配的变量.
不幸的是,例如:*@user*@ controller.user
不真正的工作: - /
我正在寻找有关如何有效记录异常及其堆栈跟踪的最佳实践文档(或您的意见).当然,假设一个流行的日志框架,如Log4J,SLF4J,java.util.logging等.
我对你应该记录什么级别的堆栈跟踪的意见特别感兴趣.
我听到几个相互矛盾的意见,例如:
我找到了几篇有趣的文章,但没有一篇涉及这个特定的主题:
这可能意味着这些文章的作者与我有同样的担忧:-)
我对你对这个问题的看法非常感兴趣.
java ×2
aws-lambda ×1
debugging ×1
exception ×1
jvm ×1
rake ×1
ssh ×1
stack-trace ×1
testing ×1