小编crl*_*ane的帖子

Eclipse运行配置中的通配符扩展

有没有办法让Eclipse在运行配置参数中扩展通配符?我的类可以处理传递给的命令行参数main(String[] args).从普通shell(我的系统上的bash),它很简单:

$java MyClass file*.txt
Run Code Online (Sandbox Code Playgroud)

这将运行我的类,其中包含工作目录中的所有文件,这些文件以命令行参数的形式提供file并以结尾的形式.txt提供.

我想在eclipse中有相同的行为,但是当我进入file*.txt运行配置编辑器并运行程序时,通配符不会扩展.而不是文件列表,唯一识别的arg是文字字符串file*.txt.

这个线程让我相信它是可能的或者曾经是可能的(至少在Windows上 - 我运行的是Mac OS X 10.6.8),但那些人正在遇到相反的问题,即通配符被扩展,即使这种行为不是通缉.

在尝试解决这个问题时,我尝试使用不同的环境变量(即$ {string_prompt},更改工作目录,查看Eclipse首选项和文档,并搜索相关的短语,但没有任何工作.任何建议或相关链接信息将不胜感激.

java eclipse command-line glob wildcard

9
推荐指数
1
解决办法
1013
查看次数

减少测试用例之间的耦合

我正在尝试了解有关JUnit和TDD的更多信息,但我遇到了测试用例之间耦合的一些问题.

当我为特定数据类型的API编写测试用例时,比方说a Deque<T>,如何限制测试用例之间的耦合?例如,如果我正在为该方法编写一个测试用例insertFirst(T item),那么假设我应该能够在正确初始化的对象上调用该方法之后断言两件事,这似乎是直截了当的:

  1. Deque对象的大小应该增加一个
  2. 如果我随后调用相应的T removeFirst()方法,它应该返回对我通过初始调用插入的对象的引用.

但是,这会在我的至少两个测试用例之间产生不希望的耦合,其中一个测试用例传递依赖于另一个API方法的正确实现.例如,为了使这个测试用例通过,我需要一个正确的实现来检查项目的数量Deque以及删除项目.如果我对这些方法中的任何一个的测试由于某种原因不正确或不完整,那么我对该insertFirst方法的测试将自动被怀疑.

避免这种情况的最佳做法是什么?我的方法是否以某种方式编写测试用例错误?

java testing tdd junit unit-testing

7
推荐指数
1
解决办法
293
查看次数

Mercurial - 用户特定的忽略文件

我试图让mercurial忽略特定用户的隐藏文件.我用过这里的指示:

如何使mercurial忽略所有隐藏文件?

并让它忽略特定仓库中的文件.我想将此行为扩展到特定用户的所有hg repos.

hgrc手册页说,你可以通过在这样的连接具体忽略文件中的用户(例如,〜/ .hgignore)你的〜/ .hgrc:

[ui]
username = Some User <user@email.com>
ignore = ~/.hgignore
Run Code Online (Sandbox Code Playgroud)

但这似乎没有奏效.

我也试过了

ignore = /home/someuser/.hgignore
ignore = $HOME/.hgignore
ignore = ~/.hgignore2
Run Code Online (Sandbox Code Playgroud)

但这似乎也没有奏效.我错过了什么吗?我在Mercurial网站或其他任何地方都找不到任何东西.请帮忙,谢谢.

**编辑 - 我在Linux上.hg showconfig表示hg正在正确读取我的.hgrc文件,但其中列出的忽略行为不起作用.

**EDIT2 - 我也尝试重新启动我的机器,只是为了看看是否会更新.它没.

regex mercurial hgrc

4
推荐指数
1
解决办法
970
查看次数

将日期与SQLAlchemy,SQLite进行比较

我正在编写一个使用SQLAlchemy和SQLite数据库的应用程序.我相信我的数据库,表和映射已正确配置,因为其他操作按预期工作.我正在尝试编写一个函数来检索其日期字段与作为函数参数提供的datetime.date()匹配的所有对象.这是我的第一次尝试:

def get_objects_matching_date(session,my_date):  
    return session.query(Table).filter(Table.date_field == my_date).all()
Run Code Online (Sandbox Code Playgroud)

事件虽然我知道Table包含符合条件的对象,但该函数不返回任何内容.

我从阅读SA文档中了解到sqlite没有本机支持datedatetime类型,并且它们存储为字符串.但SA应该处理转换(返回结果时)和(插入记录时)datedatetime对象的转换.我认为它应该能够在运行比较过滤器时处理这个问题.我已经阅读了几个不同的SO线程,并考虑使用between()过滤掉匹配的对象my_date,但是当==我正在寻找的是精确的时候,这似乎不是必要的.我也考虑过使用.filter(cast(Table.date_field,DATE) == my_date)以确保我得到对象的比较,但这似乎也没有用.

显然,我错过了关于SQLAlchemy处理日期的方式,尤其是SQLite数据库.如何Date在SQLAlchemy中存储的SQLite数据库与datetime.date()作为参数提供的对象之间获得完全匹配?谢谢你的帮助.

python database sqlite sqlalchemy

2
推荐指数
1
解决办法
2415
查看次数