我正在使用coverage并通过我的 Travis CI 构建codecov报告我的Github 项目的覆盖率。但是,在线报告出乎意料,因为它们与本地报告不匹配,因为它们__init__.py似乎省略了根文件。
我已经查看了coverage.py 和codecov 的文档,没有任何内容突出显示,但我觉得我可能遗漏了一些明显的内容。
当我运行测试并执行时coverage report- 结果符合预期并报告89%覆盖率。请注意,该behave_webdriver\__init__.py文件已包含在内。
Name Stmts Miss Cover
------------------------------------------------------------
behave_webdriver\__init__.py 206 26 87%
behave_webdriver\conditions.py 58 5 91%
behave_webdriver\steps\__init__.py 2 0 100%
behave_webdriver\steps\actions.py 79 12 85%
behave_webdriver\steps\expectations.py 173 14 92%
------------------------------------------------------------
TOTAL 518 57 89%
Run Code Online (Sandbox Code Playgroud)
这也与codecov --dump travis build 上显示的 XML 报告一致。
但是,在线报告正在报告91%覆盖范围并且似乎省略了第一个__init__.py文件。
我希望能够在__init__.py这里看到该文件,但它似乎在报告中被省略了。不知道为什么这没有出现。
目录中的另一个__init__.py文件确实 …
我想在每种情况下运行 gitlab 作业,除非定义了变量RUN并包含 value run3。
再说一遍:
RUN未定义:运行作业RUN已定义但不包含值run3:运行作业RUN已定义并且包含值run3:请勿运行作业我尝试了以下规则:
rules:
- if: $RUN != null && $RUN == "run3"
when: never
rules:
- if: $RUN != "" && $RUN == "run3"
when: never
rules:
- if: $RUN == "run3"
when: never
Run Code Online (Sandbox Code Playgroud)
RUN如果没有定义变量,则不会运行任何作业。我预计这项工作已经完成。
如何修复它?逻辑上问题出在哪里?
在我们的小型初创公司中,我们使用 GitLab 进行开发,使用 Telegram 进行开发人员和 PO 之间的内部通信。由于 PO 希望立即看到进度,因此我们设置了 GitLab Pipeline,以便在每次提交后将预览版本部署到 Web 服务器上。现在我们想扩大管道。因此,部署后会通过 Telegram 组发送通知。
所以问题是——这可能吗?如果可能的话,如何实现?
编辑:因为我已经实现了,所以这不是一个真正的问题。我想将答案发布在这里,以便其他人也可以使用它。
我编写了一个 gitlab-ci.yml 文件,其中包含多个 gitlab 作业和阶段。当代码合并到特定的 git 分支并且安排一些作业时,某些作业会在该分支上运行。
我想在 Gitlab 中创建一个计划的 CI/CD 管道,它只包含特定的计划作业,而不包含所有计划的作业。那可能吗?
例如,这是我的 gitlab-ci.yml 文件。
stages:
build
test
deploy
scheduled-test-1
scheduled-test-2
scheduled-test-3
build:
script:
- echo $Service_Version
only:
- develop
except:
- schedules
test:
script:
- echo $Service_Version
only:
- develop
except:
- schedules
deploy:
script:
- echo $Service_Version
only:
- develop
except:
- schedules
scheduled-test-1:
script:
- echo $Service_Version
only:
- schedules
scheduled-test-2:
script:
- echo $Service_Version
only:
- schedules
scheduled-test-3:
script:
- echo $Service_Version
only:
- schedules
Run Code Online (Sandbox Code Playgroud)
现在,当我创建计划时,所有三个计划测试都会在管道上看到。我想创建三个计划,分别包含scheduled-test-1、scheduled-test-2和scheduled-test-3。这怎么可能?
我在 GitLab 上有以下提交:
3fad532 Last commit
3bnaj03 Fifth commit
vcn3ed5 Fourth commit xxx
aece15d Third commit xxx
385d65a Second commit
556cc58 First commit
Run Code Online (Sandbox Code Playgroud)
我想删除第三次和第四次提交,因此我认为首先通过以下方式恢复到第二次提交:
git revert 385d65a
Run Code Online (Sandbox Code Playgroud)
然后从第五次提交开始应用樱桃选择:
git cherry-pick 3bnaj03 3fad532
Run Code Online (Sandbox Code Playgroud)
1.上述方法是否是通过删除第 3 次和第 4 次提交来获取最后一次提交的正确方法?
2.针对这种场景有更好的方法吗?
代码:
include:
- project: 'testing-parent-pipeline/Testing-child-push'
file: 'script/test.yml'
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
testing-parent-pipeline/Testing-child-push未找到项目或访问被拒绝!确保管道配置中的所有包含内容均已正确定义。
我有一个 Django 表单,里面有一个ImageField,我在我的模板中呈现这样的字段:
{{ form.my_image_field }}
Run Code Online (Sandbox Code Playgroud)
生成的 HTML 如下所示:
{{ form.my_image_field }}
Run Code Online (Sandbox Code Playgroud)
我只想渲染<input元素,因为我使用的是 bootstra-fileinput 库:https://www.npmjs.com/package/bootstrap-fileinput:
Currently: <a href="https://....s3.amazonaws.com/....jpg">....jpg</a>
<input name="my_image_field-clear" id="my_image_field-clear_id" type="checkbox">
<label for="my_image_field-clear_id">Clear</label><br>
Change:
<input name="my_image_field" id="id_my_image_field" type="file">
Run Code Online (Sandbox Code Playgroud)
是否可以在不<input>手动在模板中编写标签的情况下执行此操作?
我试图避免数据库命中我的views.py。如果我使用 F() 和 ExpressionWrapper,我是否对数据库进行查询?我正在尝试优化我的代码,当我阅读文档时有点困惑。我还包含了 Models.py 以供参考。我正在对我正在工作的网络应用程序进行优化。
视图.py
from django.shortcuts import render
from django.db.models import F, Q, Count, Sum, ExpressionWrapper, IntegerField
from .models import Student, Subject, Enrollment
def home(request):
student = Student.objects.all()
subject = Subject.objects.all()
sem_score = Enrollment.objects.all().update(sem_score=ExpressionWrapper((F("prelim_score") + F("midterm_score") + F("final_score"))/3, output_field=IntegerField()))
enrollment = Enrollment.objects.all()
num_student = Enrollment.objects.all().count()
context = {"student":student, "subject":subject, "enrollment":enrollment, "num_student":num_student}
return render(request, 'core/home.html', context)
Run Code Online (Sandbox Code Playgroud)
模型.py
class Professor(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Student(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Course(models.Model):
name …Run Code Online (Sandbox Code Playgroud) gitlab ×4
gitlab-ci ×4
django ×2
python ×2
commit ×1
coverage.py ×1
django-forms ×1
django-views ×1
git ×1
telegram ×1