小编Syl*_*are的帖子

使用jinja2模板指令加载外部脚本

我对jinja2和一般模板的使用都很新,所以我想知道是否有一种简单的方法来加载外部javascript.我在考虑使用:

{% block javascript %}
    <script src="myscript.js"></script>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但我不禁要问:

有没有一种方法可以直接从模板指令中加载这个脚本?

python scripting templates external jinja2

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

针对不同实现的相同单元测试

假设我有两种搜索算法的实现,它们为同一输入返回相同的结果.它们都实现了相同的接口.

我如何使用单个[TestClass]来测试两个实现,而不是创建两个最终具有相同逻辑的测试文件?

我可以告诉MSUnit使用不同的构造函数参数两次启动其中一个测试吗?
也许我应该(n)以某种方式注入它?

java mstest

15
推荐指数
1
解决办法
1508
查看次数

Wiremock为一个存根网址返回404

我已经定义了wireMock服务器如下: -

    private WireMockServer wireMockServer;
        @Before
        public void preSetup() throws Exception {
          wireMockServer = new WireMockServer(56789);
          wireMockServer.start();
        };

        @Override
        @After
        public void tearDown() {
          wireMockServer.stop();
        }

        @Test
        public void testSendMatchingMessage() throws Exception {

          wireMockServer.stubFor(get(urlEqualTo("/orders/v1/ordersearch/"))
            .willReturn(aResponse().withStatus(200).withBody("<response>Some content</response>")));

       }

Run Code Online (Sandbox Code Playgroud)

但每当我点击下面的网址时

http://0.0.0.0:56789/orders/v1/ordersearch/?field=address%2Cfinance%2Cshipping&limit=10&page=2&q=createdFrom.gt%7E2016-01-11T10%3A12%3A13
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: -

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
    <title>Error 404 NOT_FOUND</title>
    </head>
    <body><h2>HTTP ERROR 404</h2>
    <p>Problem accessing /__files/orders/v1/ordersearch/. Reason:
    <pre>    NOT_FOUND</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>                                                
    <br/>                                                
    <br/>                                                
    <br/>                                                
    <br/>                                                
    <br/>                                                
    <br/>                                                
    <br/>                                                
    <br/>     
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道我做错了什么吗?

java wiremock

13
推荐指数
1
解决办法
9221
查看次数

Python导入在travisCI上失败但在本地失败

我正在尝试将TravisCI集成到我的工作流程中,并且意识到我有一些依赖项,因为我的旧目录结构(没有自包含的,virtualenv可用的git repos).

当我尝试在nosetests本地运行时,它运行测试就好了; 当TravisCI尝试运行它们时,它会失败并出现import错误.具体来说,我有,作为我的测试脚本中的一行:

from myproject import something
Run Code Online (Sandbox Code Playgroud)

我的目录结构在我的git repo里面myproject是这样的:

.travis.yml
requirements.txt
something.py
tests/
    test_something.py
Run Code Online (Sandbox Code Playgroud)
  • 我试过让它在本地失败(因为那时我可能会理解TravisCI问题),但是无法完成它.
  • 我尝试使用常规python运行,并使用添加nose到其中的virtualenv,requirements.txt测试总是在本地传递.

我觉得我仍然没有理解绝对与相对的进口,我不知道这是否会在这里发挥作用,或者我只是在我的项目中做一些明显和愚蠢的事情.

期望的结果:找出TravisCI失败的原因,并相应地修复我的回购,这样我就可以在本地和TravisCI上提交并正确构建.如果这需要更大幅度的改变,比如"你应该setup.py对环境有所作为"或类似的话 - 请告诉我.我是Python的新方面的新手,并且发现当前的文档非常不清楚.

作为一个仅供参考,我发现这个问题并且添加--exe没有帮助,或者似乎是同一个问题.

python nose travis-ci

11
推荐指数
1
解决办法
1363
查看次数

如何强制推送到Git中的另一个分支

通过以下方式执行强制推送:

git push origin +branch
Run Code Online (Sandbox Code Playgroud)

通过以下方式完成对不同命名的远程分支的推送:

git push origin local:remote
Run Code Online (Sandbox Code Playgroud)

如何强行推送到不同名称的远程分支?

我试过了:

git push origin local:+remote
Run Code Online (Sandbox Code Playgroud)

但它创建了一个名为的新分支 +remote

git

10
推荐指数
2
解决办法
4005
查看次数

Vue.js单位:测试:有没有办法模拟Vee-Validate验证器插件?

我正在测试一个表单组件,所有字段都经过验证,vee-validate 目前我在我的包装器中注入了一个验证器

import VeeValidate from "vee-validate";

Vue.use(VeeValidate, { errorBagName: "errors" });

describe("ContactForm.vue", () => {
 const v = new VeeValidate.Validator();

 beforeEach(() => {
  options = {
        sync: false,
        provide: () => ({
          $validator: v
        })
 };
 wrapper = shallowMount(ContactForm, options);
});
Run Code Online (Sandbox Code Playgroud)

$validator有一些功能: init(), localize(), validateAll() , reset(), ...我可以绕过一些测试

反正有没有validatorJest函数来模拟这样的东西?

谢谢你的反馈

unit-testing vue.js vee-validate

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

使用 mongodb 在 Nodejs 中使用锁定/事务读取和插入文档

在预订系统中,只有 5 个不同的用户可以创建预订。如果 100 个用户同时调用预订 api,如何使用锁定处理并发。我正在使用nodejs和mongodb。我浏览了 mongo 并发文章和 mongodb 中的事务,但找不到任何带有锁定的示例编码解决方案。

我已经通过乐观并发控制实现了解决方案(当资源争用较低时 - 这可以使用 versionNumber 或 timeStamp 字段轻松实现)。

提前感谢您向我建议锁定解决方案。

现在的算法是:

步骤 1:从 userSettings 集合中获取 userAllowedNumber。

//Query
db.getCollection('userSettings').find({})

//Response Data
{ "userAllowedNumber": 5 }
Run Code Online (Sandbox Code Playgroud)

步骤2,从预订集合中获取当前的bookedCount。

//Query
db.getCollection('bookings').count({ })

//Response Data
2
Run Code Online (Sandbox Code Playgroud)

第 3 步,如果bookedCount <= userAllowedNumber则插入预订。

//Query
db.getCollection('bookings').create({ user_id: "usr_1" })
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js mongodb-query

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

如何使用 Kotlin DSL 定义 Gradle 项目属性

我想检查是否设置了两个项目属性,如果没有,将它们设置为空值以避免构建失败。这些属性应该来自~/.gradle/gradle.properties(如果已配置)。

目标是拥有在该本地文件中定义的 S3 中 Maven 存储库的凭据。每个用户都必须将自己的数据放在那里,但我希望构建仅输出警告并在未设置时继续。即使不联系 S3,它仍然会成功的可能性很高。

我已经使用 Groovy DSL 运行它,但我现在正在切换到 Kotlin,但我无法正确使用语法。

这是~/.gradle/gradle.properties这样的:

s3AccessKeyId=ABCDEFGHIJKLMNOPQRST
s3SecretKey=abcdefghijklmnopqrstuvwxyz1234567890abcd
Run Code Online (Sandbox Code Playgroud)

这里是相关的部分 build.gradle.kts

s3AccessKeyId=ABCDEFGHIJKLMNOPQRST
s3SecretKey=abcdefghijklmnopqrstuvwxyz1234567890abcd
Run Code Online (Sandbox Code Playgroud)

无论我如何编写s3AccessKeyId=""行,我总是收到错误消息:

无法在额外的属性扩展中获取属性“s3AccessKeyId”,因为它不存在

如果在本地 Maven 存储库中找到所有工件,我希望构建工作,即使没有gradle.properties. 只有当某些工件丢失时,构建才会中止并出现一些“凭据错误”错误。

正如我所说,它已经与 Groovy 一起工作了。

gradle kotlin gradle-kotlin-dsl

8
推荐指数
1
解决办法
569
查看次数

如何在Nuxt3配置中配置vite HMR端口?

我在 Docker compose 设置中使用 Nuxt3,其中端口 8001 是通过 nginx 反向代理通道运行 Nuxt3 的节点容器的可访问端口。

我的 nuxt.config.ts 看起来像这样:

import { defineNuxtConfig } from 'nuxt'

// https://v3.nuxtjs.org/api/configuration/nuxt.config
export default defineNuxtConfig({
    vite: {
        server: {
            hmr: {
                clientPort: 8001,
            }
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

不知何故,Vite 的 HMR 的 clientPort 设置似乎没有被 Nuxt3 拾取。该页面在开发设置中不断重新加载。

知道我是否配置错误或者这在 Nuxt3 中尚不可能吗?

在与 Vue 类似的设置中,vite.config.js 中的此设置是否正常工作?

nuxt.js vite

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

Chart.js 没有高度响应

我有问题要让 chart.js 折线图对高度和宽度做出响应。

请参阅示例它应该如何工作:

这是我的代码:

  var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
  var lineChartData = {
    labels : ['January','February','March','April','May','June','July'],
    datasets : [
      {
        label: 'My First dataset',
        labelColor : '#fff',
        fontColor : '#fff' ,
        backgroundColor : 'rgba(220,220,220,0.2)',
        borderColor : 'rgba(220,220,220,1)',
        pointBackgroundColor : 'rgba(220,220,220,1)',
        pointBorderColor : '#fff',
        data : [randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor(),randomScalingFactor()]
      }
    ]
  }

  var options = {
    maintainAspectRatio: false,
    legend: {
      display: false,
    },
    scales: {
      xAxes: [{
        gridLines: {
         display: false,
         color: '#03A5C5',
         lineWidth: 8,
         },
        ticks: {
          fontColor: "white", …
Run Code Online (Sandbox Code Playgroud)

javascript charts chart.js

6
推荐指数
2
解决办法
9869
查看次数