小编hel*_*lol的帖子

在单元测试中获取错误"Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"但在主程序中没有

我在C#中构建一个应用程序,它使用com.gargoylesoftware.htmlunit.WebClient来访问和检索来自网页的信息.

我的应用程序从主项目运行良好,但当我尝试构建单元测试来测试项目类时,我收到以下错误:

FactoryConfigurationError
Message "Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found"
Source  "IKVM.OpenJDK.XML.API"  string
StackTrace  "   at javax.xml.parsers.DocumentBuilderFactory.newInstance()
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.loadConfiguration(Reader configurationReader)
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.loadConfiguration()
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration..ctor(BrowserVersion )
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.getInstance(BrowserVersion browserVersion)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine..ctor(WebClient webClient)
at com.gargoylesoftware.htmlunit.WebClient.init(BrowserVersion , ProxyConfig )
at com.gargoylesoftware.htmlunit.WebClient..ctor(BrowserVersion browserVersion)
at com.gargoylesoftware.htmlunit.WebClient..ctor()
at GWT.HeadlessBrowser..ctor() in C:\\hg\\EXE\\GWT\\HeadlessBrowser.cs:line 57
at TestGWT.ProgramTest.TestLogInProcessForGWT() in C:\\hg\\TestGWT\\ProgramTest.cs:line 115"
Run Code Online (Sandbox Code Playgroud)

尝试在单元测试类中创建HtmlUnit WebClient也会导致此错误.

我在主项目和包含单元测试的项目中都有项目引用htmlunit-2.7,IKVM.OpenJDK.Core和IKVM.OpenJDK.XML.API.

我是否需要额外的项目参考才能运行单元测试?可能导致此错误的原因是什么?

测试类使用Microsoft.VisualStudio.TestTools.UnitTesting;

c# unit-testing webclient htmlunit

8
推荐指数
2
解决办法
5015
查看次数

SQL查询:根据包含特定值的表中的varchar列创建类别列

我有一个类似于以下的表:

Date        Description     Value1  Value2  
01/01/2012  shiny colour    2       0       
01/01/2012  yellow colour   2       2       
03/01/2012  matt colour     2       2       
03/01/2012  matt            4       1   
03/01/2012  shiny           2       2   
Run Code Online (Sandbox Code Playgroud)

我想写一个SELECT SQL查询(T-SQL),它将输出所有上面的列,但也显示一个额外的列作为SELECT语句的输出,其值取决于描述中是否存在单词"color"(如果存在"颜色",则它将是一个值,否则它将显示不同的值).

(我还想在其上面显示另一个额外的列,其值取决于Description列中"matt"或"shiny"字样的存在.但我认为这样做的方法类似).

我相信我应该可以使用COALESCE函数来做到这一点,但我对此并不熟悉并且正在努力让任何工作变得有效?

延期

嘿,谢谢你的回答.他们真的很有帮助.我还有一个问题的扩展.我的第二个生成列依赖于第一个生成列中的信息.所以类似于:

SELECT *,
CASE 
    WHEN Description LIKE '%colour%' THEN 'SomeValue'
    ELSE 'Unclassified'
END AS Category1,
CASE
    WHEN AnotherColumn LIKE 'Something' THEN 'SomeValue'
    WHEN Category1='Unclassified' THEN 'Unclassified'
    ELSE 'Generic'
END AS Category2
FROM table_name
Run Code Online (Sandbox Code Playgroud)

如何让Category2的输出依赖于Category1的输出?我正在尝试类似上面的东西,但它不起作用.

我在这里回答了我的扩展问题: T-SQL CASE语句依赖于同一SELECT查询中的另一个CASE语句

sql t-sql sql-server case

5
推荐指数
1
解决办法
2698
查看次数

SQLAlchemy:如何对列值执行 regexp_replace

我正在尝试 cast(regexp_replace(entry.page_title,'.*::: ','') AS INT)使用 SQLAlchemy。

我已经看到您可以使用混合属性在 ORM 映射的类上执行功能。我已经尝试了以下操作,但我真的看不出如何使用混合属性来进行字符串替换。

class Entry(object):

    def __init__(self, page_title):
        self.page_title = page_title

    @hybrid_property
    def original_brand_id(self):
        return self.page_title.partition(' ::: ')[-1]
        ###OR ALSO TRIED DOING:
        return re.sub(r'[.*::: ]','',self.page_title)
Run Code Online (Sandbox Code Playgroud)

我知道问题在于我想将 Entry 的 page_title 视为string实际上是InstrumentedAttribute. 但是我不清楚如何获取字符串值,以使其执行我想要的操作。

甚至有可能吗?

python replace sqlalchemy

5
推荐指数
1
解决办法
2001
查看次数

Hadoop Cascading - 使用一个源,两个接收器创建流量

我正在使用Cascading 2创建Hadoop作业,并尝试创建一个以单一来源开头的流程.后一对夫妇的功能被应用到数据I需要使得该数据被用于创建两个单独的报告(在两个单独的接收器)来分割的流动.

    //SOURCE
    Scheme sourceScheme = new TextLine( new Fields( "line" ) );
    Tap source = new Hfs( sourceScheme, input );

    //REPORT1 SINK
    Scheme report1SinkScheme = new TextDelimited( Fields.ALL, ",","\"" );
    Tap report1Sink = new Hfs( report1SinkScheme, output1, SinkMode.REPLACE );

    //REPORT2 SINK
    Scheme report2SinkScheme = new TextDelimited( Fields.ALL, ",","\"" );
    Tap report2Sink = new Hfs( report2SinkScheme, output2, SinkMode.REPLACE );

    //INITIAL FUNCTIONS
    Pipe firstPipe = new Pipe("firstPipe");
    firstPipe = new Each(firstPipe, new Fields("line"), functionA);
    firstPipe = new Each(firstPipe, functionB, Fields.ALL);

    //REPORT1 …
Run Code Online (Sandbox Code Playgroud)

hadoop flow mapreduce cascading

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

导出静态 NextJS 应用程序`TypeError:无法读取未定义的属性'/404'`

我已经尝试过几次使用快速启动方法从头开始启动 NextJS 项目,并遵循教程示例https://nextjs.org/learn/excel/static-html-export/setupnpx create-next-app中概述的说明。我想创建一个静态 HTML 网站。

我将buildexportjobs 添加到scripts标签中package.json

  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "export": "next export",
    "start": "next start"
  },
Run Code Online (Sandbox Code Playgroud)

next.config.js并从示例创建一个文件:

const fetch = require('isomorphic-unfetch');

module.exports = {
  exportPathMap: async function() {
    const paths = {
      '/': { page: '/' }
    };
  }
};
Run Code Online (Sandbox Code Playgroud)

构建运行良好,但当我尝试运行导出时出现以下错误:

TypeError: Cannot read property '/404' of undefined
    at _default (~/Workspace/BlogNextJS/my-blog/node_modules/next/dist/export/index.js:10:202)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! …
Run Code Online (Sandbox Code Playgroud)

next.js

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

Postgres声明管道包含引用的冒号

当postgres中的SQL语句写成如下所示时,这意味着什么?

SELECT 
    name||' ::: '||id AS title
FROM 
    my_table;
Run Code Online (Sandbox Code Playgroud)

在Google中搜索几乎是不可能的!管道和封闭的引用冒号做什么?

sql string postgresql pipe psql

0
推荐指数
1
解决办法
2800
查看次数