CS 61A 使用一个名为ok的程序来测试和提交作业、实验和项目的代码。

每个编程作业都将包含一个.zip存档,其中包含以下内容:

  • 启动代码
  • 一份 ok

提取存档内容后,您可以开始自己的任务。

使用 Ok 登录

首先,打开您的终端,并用cd命令进入正确的目录(当您在正确的目录中使用ls命令时,您应该看到一个名为ok的文件)。

尝试以下命令:

python3 ok

这将会运行测试(如果测试一开始失败,请不要担心;您还没有编写代码!)。

第一次运行ok时,系统会要求您提供 bCourses 电子邮件。这应该是您的伯克利电子邮件地址(以 @berkeley.edu 结尾)。如果您有多个,请使用您登录 bConnected Google 帐户时使用的那个。

如果您没有伯克利电子邮件地址,您可以通过登录您的 CalNet 帐户在此处创建一个 。

输入您的电子邮件后,您的网页浏览器将打开一个身份验证页面。单击“接受”进行ok身份验证。

故障排除

未注册

如果您看到一条错误消息显示您未注册该课程,请确保您使用的是课程名单上显示的电子邮件地址。如果您使用的邮箱是正确的,您可以继续使用该邮箱;您的提交仍将被保存。您必须联系您的助教以注册该电子邮件地址。

错误的电子邮件

如果您输入的电子邮件不正确,您可以使用以下命令重新进行身份验证:

python3 ok --authenticate

无法验证/浏览器问题/重定向到127.0.0.1/等等。

尝试以--no-browser运行:

python3 ok --authenticate --no-browser

另外,请仔细检查您的网络连接。如果您在校园内,请尝试使用 eduroam

崩溃或未加载

确保您安装了64位版本的 Python 3。您可以通过在终端中运行以下命令来检查您是否拥有不正确的32位版本。

python3 -c "import struct,platform;print(8 * struct.calcsize('P'), platform.python_version())"

用 Ok 测试

编写一些代码后,您可以通过ok以各种方式测试您的代码。

测试特定问题

要测试特定问题,请使用带有问题名称的-q选项:

python3 ok -q ### Q1

测试所有问题

您可以使用以下命令运行所有测试:

python3 ok

显示所有测试

默认情况下,只会出现失败的测试。如果您想查看您在所有测试中的表现,可以使用以下-v选项:

python3 ok -v

本地测试

如果您不想将您的进度发送到我们的服务器或者您在登录时遇到任何问题,请添加--local标志以阻止所有通信:

python3 ok --local

添加您自己的测试

添加测试您可以编写自己的测试并使用ok运行它们. 默认情况下,测试文件将被命名为mytests.rst. 您可以使用不同的名字,但在运行测试时需要指定它。

运行你自己的测试

mytests.rst里运行所有测试并显示详细结果:

python3 ok -t -v

如果您将测试放在不同的文件中或将测试拆分为多个文件:

python3 ok -t your_new_filename.rst

要仅运行mytests.rst中程序组 1 用例 1 中的测试:

python3 ok -t --suite 1 --case 1

您可能已经注意到,您的测试有一个“测试覆盖”百分比(请注意,只有在运行所有测试时才会返回覆盖率统计信息)。这是对测试代码覆盖率的衡量 。

要获得有关您应该测试哪些行以增加覆盖率的指导:

python3 ok -t -cov

代码覆盖率不包括ok测试,因此实际覆盖率可能更高。

虽然代码覆盖率是一个有用的工具,但您不应该专注于这个数字。最好编写测试来帮助您完成问题并使生活更轻松,而不是实现更高的覆盖率。

提交作业

当您准备好提交时,请使用以下--submit选项运行ok

python3 ok --submit

提交后,ok会显示一个提交地址,您可以通过该地址在 okpy.org 上查看您的提交。

查看提交

你可以去 okpy.org 检查你的提交和备份。确保您使用与您进行身份验证相同的 bCourses 电子邮件登录。

最后修改日期: 2021年9月12日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。