test

谈一谈JUnit神奇的报错 java.lang.Exception:No tests found matching

北城以北 提交于 2020-03-05 19:58:47
nitializationError(org.junit.runner.manipulation.Filter)或者No tests found matching异常, 1.最容易发现的错误,就如报错所说,没有找到test方法就是因为忘记在方法前加 @Test 注解了。 应该是Test注解类引用错了,请检查包路径是否为 org.junit.Test; 来源: CSDN 作者: mrmqmn 链接: https://blog.csdn.net/mrmqmn/article/details/104679081

【Gitlab】集成自动化部署PHP代码

佐手、 提交于 2020-03-05 18:51:13
1、在Gitlab项目的Setting > Variables 里增加SSH_PASSWORD和SSH_USERNAME变量,分别保存服务器的登录用户名和密码;这两个变量在.gitlab-ci.yml里会用到 2、在.gitlab-ci.yml里增加以下配置,其中的serverName替换为服务器的域名或IP,deploytest为自己写的部署脚本;其他参数按需自定义 stages: - deploy-test deploy-test: stage: deploy-test script: - sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -p 22 $SSH_USERNAME@serverName "cd /data/www/deploy_test; ./deploytest master quiet" environment: name: test when: manual tags: - chest only: - master 以上-o StrictHostKeyChecking=no是必须的,否则会出现ERROR: Job failed: exit code 1报错;细究以下发现是gitlab里的容器第一次ssh登录服务器会出现以下提示,因为没有响应而报错。 Are you sure you want

Tungsten Fabric与K8s集成指南丨创建安全策略

梦想的初衷 提交于 2020-03-05 18:03:44
作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建安全策略。Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识。大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系。 安全策略可以通过限制端口、网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问。在K8s集群中安全策略对应的是Network Policy,在Tungsten Fabric中安全策略对应的Firewall Rule,两者是会实时同步的。 pod之间的访问控制 安全策略的控制是全局的,跨命名空间,跨network,所以创建策略的时候要尽可能详细地指定此端到彼端的一些参数,包括端口、命名空间、IP地址段等等。 根据第二章节的信息,可以知道目前有—— 两个命名空间:test-ns1 test-ns2 三个network:k8s-ns1-pod-net01 k8s-ns1-pod-net02 k8s-ns2-pod-net01 四个pod: nginx01-ns1-net01 nginx01-ns1-net02 nginx01-ns2-net01 nginx02-ns2-net01 而k8s-ns1-pod-net01与k8s-ns1

量化投资学习笔记36——《Python机器学习应用》课程笔记09

别说谁变了你拦得住时间么 提交于 2020-03-05 17:35:44
手写识别实例,用神经网络实现。 手写识别是一个多分类任务,共有10个分类,即0-9。 图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。一般经历文字识别,数字图像处理与识别和物体识别。 用DBRHD数据集,在这里下载: http://archive.ics.uci.edu/ml/machine-learning-databases/pendigits/ 折腾了半天,程序是运行成功了,但结果不对。另找了一篇文章,用sklearn自带数据集digits。 https://blog.csdn.net/mcyjacky/article/details/85226752 coding:utf-8 神经网络实现手写识别 from sklearn.neural_network import MLPClassifier from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report import matplotlib.pyplot as plt if name == " main ": # 加载数据 digits = load_digits

从零开始学正则(三)

和自甴很熟 提交于 2020-03-05 17:28:31
壹 ❀ 引 我在 从零开始学正则(二) 这篇文章中介绍了正则位置的概念,以及匹配位置常用的六个锚,位置相关的知识虽然不多,不过理解起来还挺费劲。在文章结尾留下了两个问题,一问写一个正则将"12345678"变成千位分隔符表示法 "12,345,678";二问验证密码长度在6-12位之间,且至少包含数字,小写字母与大写字母其中两种。 我们先来分析第一个问题,所谓 千位分隔符其实就是从右往左每隔三位数加进一个逗号。 有个问题,我们理解的正则匹配都是从左往右,怎么反过来?这里就可以 使用 $ 匹配尾部,表示从尾部开始匹配,改变匹配方向。 从右往左,逗号都在 3n(n>=1,使用量词+表示)个数字前面 ,很明显这是要匹配位置,这里可以使用 (?=p) 正向先行断言 解决,所以正则是这样: var str = '12345678'; var regex = /(?=(\d{3})+$)/g; var result = str.replace(regex, ','); //12,345,678 怎么理解这个正则呢,(\d{3})+$ 是一个匹配条件,也就是找 (\d{3})+$ 前面的位置,其中 (\d{3}) 是一个组,这个组会出现1次或更多次,所以后面跟了+,又因为要从尾部开始匹配,所以还有个$,不难吧? 看着貌似没问题,但如果我们要将123456789改为千位分隔符就出现问题了: var

Angular指令

大憨熊 提交于 2020-03-05 16:50:45
一、指令 基础指令 1、ng-disabled 使用ng-disabled可以把disabled属性绑定到以下表单输入字段上: <input> ( text、 checkbox、 radio、 number、 url , email 、 submit); <textarea> ; <select> ; <button> 。 案例1: <input type="text" ng-disabled="true" placeholder="TypetoEnable"> 在下面的例子,文本字段会被禁用五秒,直到在$timeout中将isDisabled属性设置为true: <textarea ng-disabled="isDisabled">Wait5seconds</textarea> angular.module('myApp', []) .run(function($rootScope, $timeout) { $rootScope.isDisabled = true; $timeout(function() { $rootScope.isDisabled = false; }, 5000); }); 2、ng-select 用来将数据同HTML的<select> 元素进行绑定。这个指令可以和ng-model 以及ng-options指令一同使用,构建精细且表现优良的动态表单。 3

【python自动化框架搭建】生成单元测试报告详细步骤

风格不统一 提交于 2020-03-05 16:41:58
''' 要求 : 1、 设计至少五条用例 2、至少用两种方式往测试集合(套件)中添加测试用例 3、执行测试集合(套件)中的测试用例,生成测试报告 ''' # 测试的代码 # 设计用例,对此功能函数进行单元测试 users = [{'user': 'python23', 'password': '123456'}] def register_test(username, password1, password2): # 注册功能 for user in users: # 遍历出所有账号,判断账号是否存在 if username == user['user']: # 账号存在 return {"code": 0, "msg": "该账户已存在"} else: if password1 != password2: # 两次密码不一致 return {"code": 0, "msg": "两次密码不一致"} else: # 账号不存在 密码不重复,判断账号密码长度是否在 6-18位之间 if 6 <= len(username) >= 6 and 6 <= len(password1) <= 18: # 注册账号 users.append({'user': username, 'password': password2}) return {"code": 1, "msg": "注册成功"}

类加载时机

本小妞迷上赌 提交于 2020-03-05 15:35:34
五种会触发初始化的场景,有且只有以下五种,这五种场景中的行为称为对一个类进行主动引用 一、new、getstatic、putstatic或invokestatic 遇到new、getstatic、putstatic或invokestatic这4条字节码指令时,如果类没有进行过初始化,则需要先触发其初始化。 生成这4条指令的最常见的Java代码场景是 :使用new关键字 实例化对象的时候、读取或设置一个类的静态字段(被final修饰、已在编译期把结果放入常 量池的静态字段除外)的时候,以及调用一个类的静态方法的时候。 这四种命令的描述中均有 :One successful resolution of the field,the class or interface that declared the resolved field is initized if that class or interface has not already been initial. new :Create new object getstatic : get static field from class(The value of the class or – interface field is fetched and pushed onto the operand stack) putstatic

AI Studio在线部署及预测说明

ⅰ亾dé卋堺 提交于 2020-03-05 14:21:44
目录 功能说明 通过训练任务生成模型文件 创建一个在线服务 3.1 第一步 选择模型文件 3.2 第二步 确认输入输出 3.3 第三步 制作参数转换器 3.4 第四步 沙盒部署 测试沙盒服务 4.1 第一步 点击【测试】打开测试页面 4.2 第二步 填写json格式请求参数 4.3 第三步 点击【发送】检验返回结果 部署在线服务 调用在线服务 6.1 请求方式 6.2 调用示例 功能说明 在线部署与预测为开发者提供训练模型向应用化API转换的功能. 开发者在AI Studio平台通过NoteBook项目完成模型训练后, 在Notebook详情页通过创建一个在线服务, 应用模型生成在线API, 使用该API可以直接检验模型效果或实际应用到开发者的私有项目中.目前, 该功能暂时 仅对Notebook项目 开放。 通过训练任务生成模型文件 在训练任务过程中, 通过调用 paddle.fluid.io.save_inference_model ` 实现模型的保存 ,保存后的目录需要可以被在线服务使用. 我们以房价预测的线性回归任务为例, 具体代码如下 import paddle import paddle.fluid as fluid import numpy import math import sys from __future__ import print_function

基于sklearn和keras的数据切分与交叉验证

ぐ巨炮叔叔 提交于 2020-03-05 12:27:41
在训练深度学习模型的时候,通常将数据集切分为训练集和验证集.Keras提供了两种评估模型性能的方法: 使用自动切分的验证集 使用手动切分的验证集 一.自动切分 在Keras中,可以从数据集中切分出一部分作为验证集,并且在每次迭代(epoch)时在验证集中评估模型的性能. 具体地,调用 model.fit() 训练模型时,可通过 validation_split 参数来指定从数据集中切分出验证集的比例. # MLP with automatic validation set from keras.models import Sequential from keras.layers import Dense import numpy # fix random seed for reproducibility numpy.random.seed(7) # load pima indians dataset dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # split into input (X) and output (Y) variables X = dataset[:,0:8] Y = dataset[:,8] # create model model = Sequential() model