我想配置ESLint和更漂亮使用.eslintrc.js和.prettierrc.js用一些像扩展开始:
但是,这些可能包含我觉得烦人的冲突规则或选项/规则。
是否有脚本、IDE 插件(我们的团队使用WebStorm和VS Code)或独立工具来根据我当前的配置编译有效选项和规则列表?
理想情况下,它应该列出实际应用的所有规则,包括导入的规则集。对于每个规则,它应该显示其当前设置(甚至可能是默认和其他选项)及其来源(规则集、配置文件)。如果规则已被覆盖或来自两个或更多导入的规则集的设置冲突,它也应该显示。
我想象一些类似于有效的 Maven POM 或 Maven 依赖关系树的东西作为打印输出或 GUI 工具窗口。
我查看了https://www.npmjs.com/package/eslint-find-rules,这是一个开始。但是到目前为止,我只得到了一个规则列表,没有关于它们来自哪里或当前设置是什么的信息。
我们正在寻找一种方法来确定使用哪些规则集作为起点以及我们想要覆盖哪些规则,而不必盲目尝试多年。
我必须将MS单元测试转换为NUnit并遇到此断言。
Assert.AreEqual(collection.Select(item => item.location.id).Distinct().Count(), 1);
Run Code Online (Sandbox Code Playgroud)
我希望会有一种优雅的方式来编写带有约束的内容,但我一直找不到。我的解决方案是这样,但是我对此并不满意:
Expect(collection.Select(item => item.location.id).Distinct().Count(), Is.EqualTo(1));
Run Code Online (Sandbox Code Playgroud)
在意图更易读的地方,有没有更好的方式写断言?(使用Has.或Map(collection).)
编辑2:
我刚刚意识到明确说明意图可能会有所帮助:
集合中的所有项目都具有相同的位置ID(不知道该ID是什么)
编辑1:
这是集合的JSON外观:
[{itemId=1, location={name="A", id=1}},
{itemId=2, location={name="A", id=1}},
{itemId=3, location={name="A", id=1}}]
Run Code Online (Sandbox Code Playgroud)
unique.count = 1 =>通过
[{itemId=1, location={name="A", id=1}},
{itemId=2, location={name="A", id=1}},
{itemId=4, location={name="B", id=2}}]
Run Code Online (Sandbox Code Playgroud)
unique.count = 2 =>失败
编辑3:根据Fabio的答案,我的最终解决方案
IEnumerable<long?> locationIds = collection.Select(item => item.location.id);
Expect(locationIds, Has.All.EqualTo(locationIds.FirstOrDefault()));
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个方法,该方法根据给定的泛型类型从数据库返回数据。
接口:(此定义编译)
public interface IOrderPosition<TOrder, TArticle, TOrderPosition>
where TOrder : IOrder
where TArtile : IArticle
where TOrderPosition : IOrderPosition<TOrder, TArticle, TOrderPosition>
{
long? id { get; set; }
TOrder order { get; set; }
TArtile article { get; set; }
List<TOrderPosition> subPositions { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
一个可能的具体实现:(这个定义编译)
public class OrderPosition : IOrderPosition<Order, Article, OrderPosition>
{
public long? id { get; set; }
public Order order { get; set; }
public Article article { get; set; }
public …Run Code Online (Sandbox Code Playgroud) c# ×2
angular ×1
assert ×1
collections ×1
eslint ×1
generics ×1
lambda ×1
nunit ×1
prettier ×1
typescript ×1