self.var_substitution() E AttributeError: 'TestCase' object has no attribute 'var_substitution'
时间: 2024-03-13 12:41:02 浏览: 78
根据您提供的错误信息,看起来您正在使用一个名为`var_substitution()`的方法,但是在当前的测试用例中找不到该方法。这个错误通常发生在以下几种情况下:
1. 您可能忘记在测试用例中定义`var_substitution()`方法。请确保在测试用例类中正确定义了该方法。
2. 您可能在测试用例中使用了错误的方法名。请检查您的代码,确保方法名拼写正确,并与测试用例类中的方法名一致。
3. 您可能在测试用例之前没有正确初始化相关的变量。请确保在调用`var_substitution()`方法之前,已经正确初始化了相关的变量。
请检查以上几点,并根据具体情况进行修正。如果您能提供更多的代码或上下文信息,我可以给出更具体的帮助。
相关问题
报错AttributeError: 'str' object has no attribute 'copy'
根据提供的引用内容,报错"AttributeError: 'str' object has no attribute 'copy'"是因为在代码中使用了字符串对象的copy方法,而字符串对象没有copy方法。要解决这个问题,你可以使用字符串的切片操作来复制字符串。下面是一个示例代码:
```python
def encrypt(m, k):
k_sub = generate_k_sub(k)
ip_displace = displace(m, IP_substitution) # 初始置换
ipl = [] # L列表
r = [] # R列表
for i in range(0, 16):
l_temp = r[i - 1]
r_temp = xor(l_temp, f(r[i - 1], k_sub[i]))
ipl.append(l_temp)
r.append(r_temp)
result = r[16] + l[16]
c = displace(result, IP_inverse_substitution)
return c
def decrypt(c, k):
k_sub = generate_k_sub(k)
ip_displace = displace(c, IP_substitution) # 初始置换
ipl = [] # L列表
r = [] # R列表
for i in range(0, 16):
l_temp = r[i - 1]
r_temp = xor(l_temp, f(r[i - 1], k_sub[15 - i]))
ipl.append(l_temp)
r.append(r_temp)
result = r[16] + l[16]
m = displace(result, IP_inverse_substitution)
return m
def bin_to_hex(bin_str):
# 将64位二进制字符串分割为每个字节(8位)
bytes_list = [bin_str[i:i+8] for i in range(0, len(bin_str), 8)]
# 每个字节转换为对应的十六进制表示
hex_str = ''.join(format(int(byte, 2), '02X') for byte in bytes_list)
return hex_str
if __name__ == '__main__':
num = int(input().strip())
M = input().strip()[2:]
K = input().strip()[2:]
plaintext = encrypt(M, K)
plaintext = plaintext.zfill(64)
print('0x' + bin_to_hex(plaintext).lower())
```
Task :brsdk_demo:processDebugManifest FAILED [:brsdk_channel_miniyou] D:\zzzz_demo\zzz_tools\game_demo\brsdk_channel_miniyou\build\intermediates\library_manifest\debug\AndroidManifest.xml:90:9-92:40 Warning: Element uses-library#org.apache.http.legacy at [:brsdk_channel_miniyou] AndroidManifest.xml:90:9-92:40 duplicated with element declared at [:brsdk_channel_miniyou] AndroidManifest.xml:42:9-44:40 D:\zzzz_demo\zzz_tools\game_demo\brsdk_demo\src\main\AndroidManifest.xml Error: Attribute data@scheme at AndroidManifest.xml requires a placeholder substitution but no value for <APPLOG_SCHEME> is provided.
这个错误包含两个问题:
1. 在 `:brsdk_channel_miniyou` 模块的 Manifest 文件中,存在一个 `uses-library` 元素,指定了 `org.apache.http.legacy` 库,而这个库在该模块的另一个位置也被声明了。这会导致 Manifest 合并时发生冲突。你需要检查这两个声明,看看是否需要删除其中一个。
2. 在 `:brsdk_demo` 模块的 Manifest 文件中,存在一个 `data` 属性,其中包含一个占位符 `<APPLOG_SCHEME>`,但是没有提供对应的值。你需要在你的项目中提供这个值,可以通过在 gradle.properties 文件中添加 `APPLOG_SCHEME=xxx` 来指定。其中 `xxx` 是你要使用的 scheme 名称。
阅读全文