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 电子邮件登录。
留言