标签: directory-structure

使用 pytest 的 Python 项目的正确文件夹结构是什么?

我尝试使用文件夹结构来组织我的 Python 项目。当我需要进行测试时,我使用类似以下的东西。

.
|-- src
|   |-- b.py
|   `-- main.py
`-- tests
    `-- test_main.py
Run Code Online (Sandbox Code Playgroud)

这种方法有一个大问题。main.py如果正在导入,Pytest 将不会运行b.py

到目前为止,我已经尝试将空__init__.py文件单独或一起放置在src和文件夹中,但其中任何一个似乎都有效。tests

在我看来,这是一个非常标准的项目,但我无法在网上找到解决方案。我应该使用不同的文件夹结构吗?有没有推荐的方法在此类项目中使用 pytest?


这是文件的内容:

# b.py
def triplicate(x):
        return x * 3
Run Code Online (Sandbox Code Playgroud)
# main.py
from b import triplicate

def duplicate(x):
        return x * 2
Run Code Online (Sandbox Code Playgroud)
# test_main.py
from src.main import duplicate


def test_duplicate():
        assert duplicate(2) == 4
Run Code Online (Sandbox Code Playgroud)

这是我运行 pytest 时遇到的错误:

==================================================================================================== ERRORS ====================================================================================================
_____________________________________________________________________________________ ERROR collecting tests/test_main.py ______________________________________________________________________________________
ImportError while importing test module 'C:\Users\edwar\test_pytest\tests\test_main.py'. …
Run Code Online (Sandbox Code Playgroud)

python directory-structure working-directory pytest python-3.x

17
推荐指数
1
解决办法
2万
查看次数

关于共享主机的Zend Framework

我是Zend Framework的新手.我想知道如何在共享主机上实现zend框架.由于zend框架文件夹结构,所有视图文件都放入"public"文件夹.

假设

"/"是我的主要根文件夹,公众就像"/ public"

这样网址就变成了" http:// site/public / ... ..bla bla ..."

它是否正确?

还是有其他方法吗?

我没有任何创建虚拟主机的权限.

那么该怎么办?

我希望你理解我的问题.如果没有,请问我.

谢谢!

zend-framework shared-hosting directory-structure

16
推荐指数
2
解决办法
2万
查看次数

如何创建短路径的符号链接?

我正在编辑某些二进制文件的路径,而不是重新编译它们.

我想/lib/ld-linux-armhf.so.3用一条相同长度的路径来替换我无法创建的路径,这样我就可以在不使用手机的情况下创建.它应该是相同长度的东西,因为我正在编辑二进制文件./data/data/com.clk/.so.3在下面列出的不同可能性之后,我选择了路径.我要做的是创建/data/data/com.clk/.so.3,这应该是一个符号链接/data/data/com.spartacusrex.spartacuside/gentoo_armv6l/lib/ld-linux-armhf.so.3

我最初使用过/proc/5781/cwd/rmhf.so.3,但其他应用程序(其他Linux帐户)无法读取.

然后我尝试了/data/.tmp,但它特定于我的手机,并没有根据@ChrisStratton记录.同样的/data/logcat_log.

/sdcard被排除,因为保险丝选项rw,nosuid,nodev,relatime,user_id=1015,group_id=1015,default_permissions,allow_other限制链接和可执行文件并将/lib/ld-linux-armhf.so.3被执行.

有谁知道我怎么能做到这一点?

android directory-structure binaryfiles dynamic-linking

16
推荐指数
1
解决办法
2699
查看次数

无法使用 jest testMatch glob 模式定位测试目录

假设我有一个如下所示的项目结构:

src/index.js
src/test/foo.js
test/integration/src/index.test.js
test/unit/src/index.test.js
jest.config.json
Run Code Online (Sandbox Code Playgroud)

jest.config.json我有我的testMatch

src/index.js
src/test/foo.js
test/integration/src/index.test.js
test/unit/src/index.test.js
jest.config.json
Run Code Online (Sandbox Code Playgroud)

当我运行 jest 时,--config jest.config.json它与 0 个文件匹配。

  testMatch: test/** - 0 matches
  testPathIgnorePatterns: /node_modules/ - 5 matches
  testRegex:  - 0 matches
Pattern:  - 0 matches
Run Code Online (Sandbox Code Playgroud)

我认为这可能与一些不正确的内容有关,rootDir因为testMatch与此相关。我在调试模式下运行 jest 来查看我的根目录,看起来它是正确的。它显示了我的项目目录。(如果jest.config.json存在的话)

当我更改testMatch为它时**/test/**,它可以检测目录中的测试test/,但这不是我想要的,因为它也与src/test/目录匹配。

为什么它无法在test/目录中检测到我的测试?我的 glob 模式不正确吗?

testing glob directory-structure node.js jestjs

16
推荐指数
1
解决办法
1万
查看次数

我在哪里为GWT应用程序放置静态文件?war文件夹或公用文件夹?

我有一些JavaScript文件,一个主HTML文件,一个主CSS文件,以及一些导入到主文件中的CSS文件.

我知道我可以将静态文件放在两个地方:a)'war'文件夹; 或b)'public'文件夹.

放置静态文件的最佳位置在哪里?这两个地点的处理方式不同吗?在这个问题上有"最佳实践"吗?

gwt web-applications directory-structure

15
推荐指数
2
解决办法
2万
查看次数

md5目录树中的所有文件

我有一个结构如下的目录:

.
??? Test.txt
??? Test1
?   ??? Test1.txt
?   ??? Test1_copy.txt
?   ??? Test1a
?       ??? Test1a.txt
?       ??? Test1a_copy.txt
??? Test2
   ??? Test2.txt
   ??? Test2_copy.txt
   ??? Test2a
       ??? Test2a.txt
       ??? Test2a_copy.txt
Run Code Online (Sandbox Code Playgroud)

我想创建一个bash脚本,对该目录中的每个文件进行md5校验和.我希望能够在CLI中键入脚本名称,然后输入我想要哈希的目录的路径并让它工作.我确信有很多方法可以实现这一目标.目前我有:

#!/bin/bash

for file in "$1" ; do 
    md5 >> "${1}__checksums.md5"
done
Run Code Online (Sandbox Code Playgroud)

这只是挂起而且不起作用.也许我应该使用find?

一个警告 - 我想要哈希的目录将包含具有不同扩展名的文件,并且可能并不总是具有完全相同的树结构.我想要一些能在这些不同情况下起作用的东西.

bash md5 for-loop directory-structure find

15
推荐指数
3
解决办法
2万
查看次数

Angular 2定义了多个模块的数据模型

我目前正在使用Angular 2.0(发布版本)开始一个新项目,我想定义一些全局数据模型/模式.据我了解,Angular 2没有处理纯数据类的默认方式,如下所示:

export class TestModel {
  id: number;
  name: string;
  randomAttribute: number;
  author: string;
}
Run Code Online (Sandbox Code Playgroud)

所以关于最佳实践的第一个问题是:在使用Angular 2时我应该定义这样的类吗?

对于我整个应用程序的设计和概念,我认为它们是必要的,但我不确定我是否在这里应用了错误的思维方式.

多个模块(ngModule)有时需要这些数据类,所以我的第二个问题是我将它放在我的应用程序中的哪个位置?目前我有以下结构:

/app
   /shared
      shared.module.ts
      test.model.ts
   /module1
      module1.module.ts
      foo.component.ts
      [...]
   /module2
      module2.module.ts
      bar.component.ts
      [...]
   app.module.ts
   [...]
Run Code Online (Sandbox Code Playgroud)

我的第一个想法是将其包含instruction.model.tsshared.module导入的每个模块中并将其导出shared.module.这似乎不起作用,因为该模型不是指令,管道或模块.有没有办法出口呢?

更简单的解决方案是直接test.model.ts在需要它的每个模块中导入文件和每个其他共享模型.但这对于多个模型来说似乎很笨重而且不方便.

我想到的第三种可能的解决方案是将所有共享数据模型放在一个单独的文件夹中,将它们的导出捆绑在一个文件中,如下所示,并在需要它的每个模块中导入该文件.

directory-structure datamodel typescript angular2-modules angular

15
推荐指数
1
解决办法
2万
查看次数

在自定义OO PHP框架中使用接口

我正在研究一个相当简单的OO PHP框架(在这种情况下我认为并不重要......),具有以下基本结构:

application/
  classes/
  controllers/
  includes/
  models/
  views/
classes/
includes/
Run Code Online (Sandbox Code Playgroud)

我知道使用接口而不是硬编码类是OOP的好习惯,但我不确定当涉及到接口目录和文件的实际位置/结构时,最佳做法是什么.

接口是否应分成目录下的多个文件:

interfaces/
  iDatabase.php
  iRouter.php
Run Code Online (Sandbox Code Playgroud)

或者它们都应该放在一个文件中,因为它们不是那么大:

includes/
  interfaces.php (with all Interfaces inside)
Run Code Online (Sandbox Code Playgroud)

使用第一个选项,我可以使用自动加载器来加载接口,而不是在不是所有文件都可以使用时加载每个文件,而使用第二个选项它们最初都会加载,但这样可以节省我每次加载多个文件的时间.

你的想法是什么?我是否完全以错误的方式看待这个问题(我倾向于用我的大部分问题做到这一点,直到有人引导我朝着正确的方向前进!哈哈)

谢谢堆!

瑞安

编辑2011-02-07:

看完我到目前为止给出的答案后,我尝试了一些事情.

假设下面的类从磁盘上的确切位置自动加载(Database_Database将加载到'classes/Database/Database.php'中),这个设置是否有效?

class Database_Mysql_Database extends Database_DatabaseAbstract implements Database_Database {}
Run Code Online (Sandbox Code Playgroud)

Database_Mysql_Database是一个普通类,Database_DatabaseAbstract是一个抽象类,具有不同类型数据库通用的基本方法,Database_Database将是用户键入的接口,以确保与其类的兼容性.

我是在正确的轨道上吗?

php oop directory-structure interface

14
推荐指数
3
解决办法
4720
查看次数

在dos中为dir命令设置Recursive-Depth

我目前正在使用以下命令列出一些目录:

dir /b /s /AD > c:\temp\dir_list.txt
Run Code Online (Sandbox Code Playgroud)

这给了我几乎所需的清单.但这是太多的数据,因为一些文件夹有很多子文件夹,我不希望在我的列表中看到.

是否有可能将命令的递归深度限制为-lets-3?

c:\dir_1\dir_2\dir_3\dir_foo
Run Code Online (Sandbox Code Playgroud)

所以,如果我在上面的例子在C执行命令:"我不希望看到的dir_foo目录,但只是dir_n的...

也许没有批处理/ vb脚本?

windows directory recursion cmd directory-structure

14
推荐指数
3
解决办法
2万
查看次数

制作项目结构的最佳实践 - React Native

我根据客户要求创建了新的 React Native 项目。我有知识,但还没有完成任何项目,所以请给我任何项目结构如何构建这个项目。

或者给我任何 git hub 链接

谢谢

directory-structure react-native

14
推荐指数
1
解决办法
3万
查看次数