今年夏天,我用直接C编写了一个嵌入式系统.这是我工作的公司接管的现有项目.我已经习惯于使用JUnit在Java中编写单元测试,但是对于为现有代码(需要重构)编写单元测试的最佳方法以及添加到系统中的新代码感到茫然.
有没有办法让单元测试普通的C代码像使用JUnit进行单元测试Java代码一样简单?任何专门针对嵌入式开发(交叉编译到arm-linux平台)的见解都将非常感激.
在过去,我非常喜欢使用Trac和我自己的一些服务器上托管的subversion存储库.集成的票务和在线代码浏览非常方便.
我已经在我的一些公共项目中使用了github,但是我没有钱来支付额外的服务,特别是当我已经支付远程VPS主机时.
有没有人知道或有任何使用git版本控制设置Trac的经验?具体来说,我已经可以推送到远程服务器但我希望有一些Web界面允许我(以及与我一起工作的人)在不使项目公开的情况下在线查看代码库的提交和当前状态.我知道GitPlugin但是无法启动并成功运行.还有其他建议吗?
需要集成的票务(和维基),但不是绝对必要的.
编辑:
在使用GitPlugin和Trac后,我已经能够启动并运行.主要问题是我需要通过在trac.ini中执行类似的操作来显式启用trac环境的插件:
[components]
# for version 0.10
gitplugin.* = enabled
# for version 0.11
tracext.git.* = enabled
Run Code Online (Sandbox Code Playgroud)
我正在开发一个应用程序,其中一个要求是我能够基于GPS数据执行实时反向地理编码操作.特别是,我必须能够确定纬度,经度对映射的状态/省,并检测我们何时从一个州/省迁移到另一个州/省.
到目前为止,我有几个想法,但想知道是否有人对以下任何一个有任何想法:
作为首发,以下是我的两个主要想法:
我正在python中为感兴趣的人或那些可能有他们想建议的好库的人工作.
要清楚......我没有可用的Web访问权限,因此在运行时不能使用现有的反向地理编码服务
我正在做一个项目,我们有大量的对象被序列化并使用pickle/存储到磁盘cPickle。
随着项目生命周期的进展(在向现场客户发布之后),未来的功能/修复可能需要我们更改一些持久对象的签名。这可能是添加字段、删除字段,甚至只是更改一段数据的不变量。
有没有一种标准的方法来标记一个对象,该对象将被腌制为具有某个版本(如serialVersionUID在 Java 中)?基本上,如果我正在恢复 Foo 版本 234 的实例,但当前代码是 236,我希望收到一些有关 unpickle 的通知。我是否应该继续推出我自己的解决方案(可能是 PITA)。
谢谢