我维护一个复杂的Angular(1.5.x)应用程序,使用Protractor(2.5.x)进行E2E测试.我遇到了这种方法的问题,主要表现在测试看起来很脆弱的方式.在一个拉取请求中完美运行的测试在另一个拉取请求中失败.这涉及简单的定位器,例如by.linkTest(...).我调试了失败的测试,应用程序位于正确的页面上,链接存在且可访问.
有没有其他人遇到这些一致性问题?了解原因或解决方法?
我在JSF中完成一项非常简单的任务时遇到了很大的问题.问题:我有一些对象,这些对象具有聚合属性,这些属性的类型可以在不同对象之间变化.根据属性的类型,我想使用一组不同的输入字段.
子类型组件驻留在框架中并按需加载.为此,我使用以下代码:
<h:panelGroup id="zusatzdaten">
<fieldset class="clear">
<legend>#{tickerUI.ticker.tickerDescription.label}
(#{tickerUI.ticker.tickerDescId})
</legend>
<h:panelGroup rendered="#{tickerUI.editComponentName != null}">
<ui:include src="#{tickerUI.editComponentName}"/>
</h:panelGroup>
</fieldset>
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
该组件的名称来自TickerUI,它是@SessionScope.现在令人眼花缭乱的一点:首次加载时,会显示正确的子组件.但是,当在导航中使用链接时,应该导致包含不同的组件,内容不会更新!这会导致错误,因为数据现在是不同的子类型,但表单组件仍然来自前一个.
从错误返回并再次单击链接时,将显示正确的组件.我记录了editComponentName的值,并返回了正确的值.这非常令人困惑.当getter将正确的组件名称返回到src属性时,为什么包含错误的内容?
非常感谢.
我有一个带有JSON字段的PostgreSQL数据库.我想构建一个通过JSON表达式限制结果的查询.我可以在psql中制定这个查询而不会出现问题:
select * from mytable where relation_id=100 AND CAST(jsonField->'key' AS float) >= 10.0;
Run Code Online (Sandbox Code Playgroud)
此查询组合了普通列和JSON列.
我不知道如何使用Criteria或Criteria查询在Hibernate中启动它.理论上,我可以使用HSQL语言,但我几乎可以肯定,当涉及到JSON列时,它会失败.
有谁知道如何解决这个问题?
由于Boost 1.49的问题,我无法在C++程序中完成链接阶段.我已经切换到C++(-std=c++11 -libc=libc++),它适用于另一段代码(也使用boost).使用自制软件安装Boost:
brew install boost --universal --with-mpi --with-icu
Run Code Online (Sandbox Code Playgroud)
问题始于boost::program_options.我得到这样的链接错误:
"boost::program_options::validate(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int)", referenced from:
... etc. ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
这有点奇怪,因为在使用的库上做一个nm显示,符号似乎在那里:
nm -U /usr/local/lib/libboost_program_options-mt.dylib | grep validate
0000000000019880 - 01 0000 FUN __ZN5boost15program_options8validateERNS_3anyERKSt6vectorISbIwSt11char_traitsIwESaIwEESaIS7_EEPSsi
0000000000019880 T __ZN5boost15program_options8validateERNS_3anyERKSt6vectorISbIwSt11char_traitsIwESaIwEESaIS7_EEPSsi
00000000000199e0 - 01 0000 FUN __ZN5boost15program_options8validateERNS_3anyERKSt6vectorISbIwSt11char_traitsIwESaIwEESaIS7_EEPbi
00000000000199e0 …Run Code Online (Sandbox Code Playgroud) 我不知道为什么这些软件包总是很难安装.我已经使用NetCDF/HDF5很长一段时间了,无论是在Linux还是OSX上,无论是C,C++还是现在的python,无论是在Linux还是OSX上,它总是让他们无法安装或正常运行.netcdf4和hdf5之间的简单依赖关系是许多人痛苦的源头,我真的希望这些软件包的开发人员最终能够做些什么.
所以,我面临的最新具体问题是:我正在尝试为python安装netCDF4.我收到以下错误:
Package hdf5 was not found in the pkg-config search path
Perhaps you should add the directory containing `hdf5.pc'
Run Code Online (Sandbox Code Playgroud)
我尝试使用apt-get安装hdf5软件包,包括:
使用pip,我试过:
pip install h5py
Run Code Online (Sandbox Code Playgroud)
这很难以解决对Cython的依赖,然后我手动安装.之后安装(显然)但我无法在任何地方找到文件hdf5.pc.
我在这里拔毛.有谁知道如何解决这个问题?
首先:我对云构建有点陌生。与以前使用的方法相比,我发现它是一个令人痛苦、不成熟且相当烦人的框架。无尽的时间花费在让构建者去工作,而这些构建者应该是开箱即用的(例如 helm 构建器),而它的局限性是令人惊讶和令人沮丧的。也许下面的问题就是一个很好的例子:
我想构建并推送一个 docker 镜像。根据文档,最后推送到 docker 存储库的图像(我为此使用 GCR)位于我的 cloudbuild.yaml 文件中的以下配置部分:
images:
- 'eu.gcr.io/$PROJECT_ID/my-project:${_TAG}'
- 'eu.gcr.io/$PROJECT_ID/my-project:latest'
Run Code Online (Sandbox Code Playgroud)
我可以使用以下部分手动设置 _TAG 替换:
substitutions:
_TAG: x.y.z
Run Code Online (Sandbox Code Playgroud)
但这意味着我每次都必须手动修复此文件中的版本号。更糟糕的是:如果我分支,我需要一直维护版本号。在这种情况下,我有一个 python 项目,它使用 setuptools,版本自然包含在 setup.py 文件中,我可以毫无问题地解析它。尝试将数字解析到特定文件并在图像部分中使用 $(cat VERSION) 会失败,因为系统声称它无法替换 $(cat VERSION) 部分。那么,如何在另一个构建步骤中覆盖 _TAG 变量,使其在“图像”部分中显示正确呢?
升级到 Mojarra 2.2.3 后,我发现了一些奇怪的行为。以下 Javascript 声明被破坏:
在 .xhtml 文件中:
<script type="text/javascript">
<!-- /* <![CDATA[ */
$(document).ready(function() {
if ($('#some_identifier').size() > 0)
...
/* ]]> */-->
</script>
Run Code Online (Sandbox Code Playgroud)
这被混淆成以下废话:
<script type="text/javascript">
<!-- /* <![CDATA[ */
$(document).ready(function() {
if ($('#some_identifier').size() > 0)
...
/* ]]> */-->
</script>
Run Code Online (Sandbox Code Playgroud)
这会破坏 .xhtml 文件中嵌入的所有 javascript 代码。我确认我们之前使用的版本 (2.0.x) 不会发生这种情况,所以我必须假设它与新的 Mojarra 版本有关。关于如何解决此问题或解决此问题的任何想法?
我是气流的新手,我正在尝试使用 GoogleCloudStorageDownloadOperator 进行一些简单的操作:
default_args = {
'start_date': airflow.utils.dates.days_ago(0),
'schedule_interval': None,
'retries': 1,
'retry_delay': timedelta(minutes=5),
'params': {
'work_dir': '/tmp'
}
}
dag = DAG(
'foo',
default_args=default_args,
description='This is foobar',
schedule_interval=timedelta(weeks=1),
dagrun_timeout=timedelta(minutes=60))
mock_download = GoogleCloudStorageDownloadOperator(
task_id='download-foo-from-gcp',
bucket='foo-data',
object='{% if (task_instance.pid % 2 == 0) %}foo{% else %}bar{% endif %}/data.tar.gz',
filename='{{ params.work_dir }}/data.tar.gz',
google_cloud_storage_conn_id='google_cloud_default',
dag=dag
)
Run Code Online (Sandbox Code Playgroud)
例如,虽然我可以在 PyCharm 中运行此任务(使用airflow test),但从 Web 界面(预定)触发时它始终失败。日志中的错误消息完全没有用,至少可以说:
...
[2020-01-09 17:04:18,871] {gcs_download_operator.py:86} INFO - Executing download: crunchbase-mock-data, foo/data.tar.gz, /tmp/data.tar.gz
[2020-01-09 17:04:28,751] {logging_mixin.py:112} INFO - [2020-01-09 17:04:28,751] {local_task_job.py:103} …Run Code Online (Sandbox Code Playgroud) jsf-2 ×2
airflow ×1
automation ×1
boost ×1
c++ ×1
c++11 ×1
cdata ×1
clang ×1
facelets ×1
hdf5 ×1
hibernate ×1
jasmine ×1
jasmine2.0 ×1
jpa-2.0 ×1
jsf-2.2 ×1
json ×1
netcdf ×1
osx-lion ×1
pip ×1
postgresql ×1
protractor ×1
python ×1
python-2.7 ×1
selenium ×1