我承认我是一个红宝石新手(现在写rake脚本).在大多数语言中,复制构造函数很容易找到.半小时的搜索没有在红宝石中找到它.我想创建一个哈希的副本,以便我可以修改它而不影响原始实例.
一些预期的方法不能按预期工作:
h0 = { "John"=>"Adams","Thomas"=>"Jefferson","Johny"=>"Appleseed"}
h1=Hash.new(h0)
h2=h1.to_hash
Run Code Online (Sandbox Code Playgroud)
与此同时,我采用了这种不优雅的解决方法
def copyhash(inputhash)
h = Hash.new
inputhash.each do |pair|
h.store(pair[0], pair[1])
end
return h
end
Run Code Online (Sandbox Code Playgroud) 随着MS对所有新服务器产品进行攻击,我开始(不情愿地)认为我需要认真对待它."认真对待"的部分内容是TDD.你有没有找到好的单元测试电源shell脚本的方法?
我找到了Geek Noise先生的嘲笑样本- 但我真的很喜欢像RhinoMocks这样的东西.Brian Hartsock有一个从MS Test对powershell字符串运行测试的示例.有点hacky,但它似乎工作.
我想要的是Powershell TDD体验,它与"真实"语言一样干净.
更新澄清:
前两个答案试图引导我远离测试Powershell.意见很有趣.我不想知道在PowerShell中测试是否是个好主意.这是一个主观问题,应该在不同的论坛上提出.我想要一个单元测试PowerShell的解决方案.如果您认为这是一个坏主意(可能是这样),请将其视为一个有趣的学术问题.
重新声明:如何以xUnit的方式实现Powershell逻辑的自动测试? 集成测试很有趣,单元测试打破了最有趣的依赖关系.
默认情况下,vagrant将框提取到用户的主驱动器 - %HOMEDRIVE%\.vagrant.d\boxes.这是在网络位置.虽然有利于可靠的存储,但这非常慢.
如何更改盒子的位置?
本周我对msbuild很感兴趣.我正在清理许多非常复杂的构建脚本.挖掘它可以做多少让我感到惊讶 - msbuild本身就是.NET编程的隐藏功能.
在SO约定中,问题必须有答案,在几天或一周内,我会将最有用或最酷的隐藏特征标记为已接受.
let bestAnswer suprise slick useful = (surprise + slick + 2*useful)
Run Code Online (Sandbox Code Playgroud)
有用的定义:我正在更新现有的msbuild脚本:package(zip文件)网站和实用程序,CC.NET集成,启动测试(UT + selenium),构建数据库.我正在添加(新目标,甚至更有用):部署到VMWare虚拟服务器,链式构建(立即快速构建,队列慢速测试).如果您引用外部库(如MSBuild社区任务),那么知道如何获取它会很好.
我已经发现了一些msbuild的惊喜.
这是msbuild Hello World 在我写完之后,我找到了MSDN hello world.
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build;Test" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Who>World</Who>
</PropertyGroup>
<Target Name="Hello">
<Message Text="Hello, $(Who)" Importance="high" ></Message>
</Target>
<Target Name="Build" DependsOnTargets="Hello"/>
<Target Name="Test"/>
</Project>
Run Code Online (Sandbox Code Playgroud) 忘记花哨的shmancy web东西.我正在寻找一个好的.NET CLI参数处理实用程序,更喜欢开源代码.这适用于需要强大而友好的命令行参数处理的快速而脏的实用程序.
这些是公用事业,可能需要一天的努力.投入几天编写良好的命令行处理似乎有点过分......但他们确实需要它.
我喜欢在命令行处理程序中使用的功能.我对任何有2个或3个以下的开源项目感到非常兴奋.
PS如果我没有找到这样的东西,我可能会在接下来的几周内在谷歌代码上丢掉一个
PPS如果我可以添加标签,我会标记为"pleasesearchtheinternetforme"
我有一个Se 2网格集线器正在运行.在哪里可以找到-hubConfig参数的效果和架构的文档?目前我的网格集线器显示:"updated with grid2 config : No hub config file specified. To specify one, use -hubConfig XXX.json where XXX.json is a hub config file".我可以使用没有配置的集线器.
我在博客和问题中找到了示例,但没有明确的文档.
博客:http://opensourcetester.co.uk/2011/07/06/selenium-grid-2/
问题:http://code.google.com/p/selenium/issues/detail?id = 2399
我有一些使用guids的测试.使用的guid不需要非常独特,它们只需要是guids.随机指南很无聊 - 所以我试图找到有趣的指导词.现在,我没有比"00000000-feed-dada-iced-c0ffee000000"更好的东西.理想情况下,我会生成一个动词,名词,介词列表.
只花了几分钟来解决这个问题,我就在这里:
为什么没有人有一个有趣的guid发生器可用于我的直接满足?你会怎么做?有关如何改进这种特殊的guid生成过程的任何建议都是受欢迎的.
我正在尝试使用rake和albacore构建多个C#项目.感觉我应该能够在没有循环的情况下做到这一点,但我无法让它工作.我要做的是:
msbuild :selected_test_projects do |msb, args|
@teststorun.each do |project|
msb.path_to_command = @net40Path
msb.properties :configuration => :Release,
msb.targets [ :Test]
msb.solution = project
msb.build
end
end
Run Code Online (Sandbox Code Playgroud)
我宁愿做一些比较清洁的事情
msbuild :selected_test_projects do |msb, args|
msb.path_to_command = @net40Path
msb.properties :configuration => :Release,
msb.targets [ :Test]
msb.solution = @teststorun
end
Run Code Online (Sandbox Code Playgroud) 我们是一家中型工程车间(10-20).我们非常擅长对面向用户的故事进行优先排序和构建工作,并使客户满意.但鞋匠的孩子们没有鞋子.如果不是关于客户,我们有0个流程.
我正在寻找系统来确保我们正确地确定优先级并完成非面向用户的工作以保持开发商店运行:QA环境(在我们的情况下非常重),持续集成系统,包装等等.
现在,资源总是有限的.我们不想给鞋匠给孩子们10双最高档的鞋子和专门的自行车鞋子.我们希望做出正确的,必要的工作,并使用适用于我们其余开发的相同的scrummy学科.
告诉我什么系统适合您:如何优先安排和组织非面向用户的工作?我希望系统简单,并与scrum顺利集成.
(我知道本文顶部有一个红色框,表示Stack Overflow的自动问题解析器认为这是一个无法回答的主观问题 - 我认为可能有2或3个优秀答案可以或者已被证明是可行的 - 而且过程是编程所不可或缺的.所以这里有一些代表我们过程的伪代码.修复这个算法).
IBacklog GetBacklogForWork(IWork requestedWork)
{
if(requestedWork.IsUserFacing) return new PrioritizedBacklogRepository();
// Everything else. Priority largely based on spare time and who thinks its a neat idea
return new RandomizedPriorityRepository();
}
void HandleIncomingSuggestionsForWork(IEnumerable(IWork) ideas)
{
foreach(work in ideas) GetBacklogForWork(work).Insert(work);
}
Run Code Online (Sandbox Code Playgroud)